Class: Faraday::Response::EngivenErrorMiddleware

Inherits:
Middleware
  • Object
show all
Defined in:
lib/engiven/error.rb

Constant Summary collapse

ERROR_STATUSES =
400..600

Instance Method Summary collapse

Instance Method Details

#on_complete(env) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/engiven/error.rb', line 18

def on_complete(env)
  case env[:status]
  when 400
    raise EngivenAPI::BadRequest, error_message(env)
  when 401
    raise EngivenAPI::Unauthorized, error_message(env)
  when 403
    raise EngivenAPI::Forbidden, error_message(env)
  when 404
    raise EngivenAPI::NotFound, error_message(env)
  when 500
    raise EngivenAPI::InternalServerError, error_message(env)
  when 502
    raise EngivenAPI::BadGateway, error_message(env)
  when 503
    raise EngivenAPI::ServiceUnavailable, error_message(env)
  when 504
    raise EngivenAPI::GatewayTimeout, error_message(env)
  when 520
    raise EngivenAPI::CloudflareError, error_message(env)
  when ERROR_STATUSES
    raise EngivenAPI::Error, error_message(env)
  end
end