class Frodo::Middleware::RaiseError
Public Instance Methods
body()
click to toggle source
# File lib/frodo/middleware/raise_error.rb, line 28 def body @body = (@env[:body].is_a?(Array) ? @env[:body].first : @env[:body]) case @body when Hash @body else { 'error' => {'code' => '(error code missing)', 'message' => @body}} end end
message()
click to toggle source
# File lib/frodo/middleware/raise_error.rb, line 24 def message "#{body['error']['code']}: #{body['error']['message']}" end
on_complete(env)
click to toggle source
# File lib/frodo/middleware/raise_error.rb, line 4 def on_complete(env) @env = env case env[:status] when 300 raise Faraday::Error::ClientError.new("300: The external ID provided matches " \ "more than one record", response_values) when 401 raise Frodo::UnauthorizedError, message when 404 raise Faraday::Error::ResourceNotFound, message when 413 raise Faraday::Error::ClientError.new("413: Request Entity Too Large", response_values) when 400...600 raise Faraday::Error::ClientError.new(message, response_values) end end
response_values()
click to toggle source
# File lib/frodo/middleware/raise_error.rb, line 39 def response_values { status: @env[:status], headers: @env[:response_headers], body: @env[:body] } end