def self.slurp(error, service=nil)
data = nil
message = nil
status_code = nil
if error.response
status_code = error.response.status
unless error.response.body.empty?
begin
data = Fog::JSON.decode(error.response.body)
message = extract_message(data)
rescue => e
Fog::Logger.warning("Received exception '#{e}' while decoding>> #{error.response.body}")
message = error.response.body
data = error.response.body
end
end
end
new_error = super(error, message)
new_error.instance_variable_set(:@response_data, data)
new_error.instance_variable_set(:@status_code, status_code)
new_error.set_transaction_id(error, service)
new_error
end