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