Class: ErrorHandler

Inherits:
Faraday::Response::Middleware
  • Object
show all
Defined in:
lib/flow_cl/error_handler.rb

Constant Summary collapse

CLIENT_ERROR_STATUSES =
(400...600).freeze

Instance Method Summary collapse

Instance Method Details

#on_complete(env) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/flow_cl/error_handler.rb', line 8

def on_complete(env)
  case env[:status]
  when 404
    raise Faraday::Error::ResourceNotFound, response_values(env)
  when 407
    # mimic the behavior that we get with proxy requests with HTTPS
    raise Faraday::Error::ConnectionFailed, %(407 "Proxy Authentication Required ")
  when CLIENT_ERROR_STATUSES
    raise GenericError, response_values(env)
  end
end

#response_values(env) ⇒ Object



20
21
22
# File 'lib/flow_cl/error_handler.rb', line 20

def response_values(env)
  { status: env.status, headers: env.response_headers, body: env.body }
end