lib/lifen/client.rb in lifen-1.0.1 vs lib/lifen/client.rb in lifen-1.0.2
- old
+ new
@@ -12,11 +12,11 @@
req.headers['Accept'] = "application/json"
req.body = JSON.generate(params)
end
- handle_status!(response)
+ handle_errors(response, params)
json = JSON.parse response.body
json
end
@@ -29,22 +29,23 @@
request(:get, url, params)
end
private
- def handle_status!(response)
+ def handle_errors(response, params)
if response.status == 500
+
json = JSON.parse response.body
trace_id = json.fetch("X-B3-TraceId", "unknown")
- raise Error, "Error 500, Internal server error (trace ID: #{trace_id})"
+
+ raise Error, "Error 500, Internal server error (trace ID: #{trace_id}), #{response_error(response, params)}"
end
end
def faraday_client
@faraday_client ||= Faraday.new(faraday_options) do |faraday|
- faraday.request :url_encoded # form-encode POST params
faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
end
end
def faraday_options
@@ -62,9 +63,21 @@
def proxy_url
Lifen.configuration.proxy_url
end
def before_request
+ end
+
+ def response_error(response, params)
+ "#{response.env.method.upcase} '#{response.env.url}' with params '#{params.inspect}' and bearer '#{trucanted_bearer}'"
+ end
+
+ def trucanted_bearer
+ if m = /^(.{24})(.*)$/.match(bearer)
+ "#{m[1]}#{"*" * m[2].length}"
+ else
+ bearer
+ end
end
def bearer
raise "A bearer method must be defined"
end
\ No newline at end of file