lib/reviewed/client.rb in reviewed-0.1.30 vs lib/reviewed/client.rb in reviewed-0.1.31
- old
+ new
@@ -56,12 +56,28 @@
end
private
def perform(method, path, params={})
- self.connection.send(method.to_sym, path, params) do |request|
- request.params.merge!(self.request_params)
- request.headers['X-Reviewed-Authorization'] ||= self.api_key
+ begin
+ response = self.connection.send(method.to_sym, path, params) do |request|
+ request.params.merge!(self.request_params)
+ request.headers['X-Reviewed-Authorization'] ||= self.api_key
+ end
+ rescue => e
+ if e.class < Faraday::Error::ClientError
+ message = <<-EOS.gsub(/^[ ]*/, '')
+ API Error. method: #{method}. path: #{path}. params: #{params.to_s}. api_key: #{self.api_key}
+ Original exception message:
+ #{e.message}
+ EOS
+ new_exception = Reviewed::ApiError.new(msg: message)
+ new_exception.set_backtrace(e.backtrace)
+ raise new_exception
+ else
+ raise
+ end
end
+ response
end
end
end