Class: RocketfuelApi::Faraday::Response::RaiseHttpError

Inherits:
Faraday::Response::Middleware
  • Object
show all
Defined in:
lib/rocketfuel_api/faraday/raise_http_error.rb

Constant Summary collapse

EXCEPTIONS =
{
  400 => RocketfuelApi::BadRequest,
  401 => RocketfuelApi::Unauthorized,
  403 => RocketfuelApi::Forbidden,
  404 => RocketfuelApi::NotFound,
  406 => RocketfuelApi::NotAcceptable,
  422 => RocketfuelApi::UnprocessableEntity,
  500 => RocketfuelApi::InternalServerError,
  501 => RocketfuelApi::NotImplemented,
  502 => RocketfuelApi::BadGateway,
  503 => RocketfuelApi::ServiceUnavailable
}.freeze

Instance Method Summary collapse

Instance Method Details

#error_message(response) ⇒ Object



30
31
32
# File 'lib/rocketfuel_api/faraday/raise_http_error.rb', line 30

def error_message(response)
  "#{response.method.to_s.upcase} #{response.url}: #{response.status} - #{response.body}"
end

#on_complete(response) ⇒ Object

Raises:

  • (exception)


20
21
22
23
24
25
26
27
28
# File 'lib/rocketfuel_api/faraday/raise_http_error.rb', line 20

def on_complete(response)
  http_status = response.status.to_i

  return if http_status == 200

  exception = EXCEPTIONS.fetch(http_status)

  raise exception, response.body
end