Class: Faraday::CheckerberryErrors

Inherits:
Middleware
  • Object
show all
Defined in:
lib/checkerberry/faraday.rb

Direct Known Subclasses

Middleware

Defined Under Namespace

Classes: Middleware

Instance Method Summary collapse

Instance Method Details

#error_messageObject



25
26
27
# File 'lib/checkerberry/faraday.rb', line 25

def error_message
  "#{@env[:method].to_s.upcase} #{@env[:url]}: #{@env[:status]} - #{@env[:body]}"
end

#on_complete(env) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/checkerberry/faraday.rb', line 7

def on_complete(env)
  @env = env
  case env[:status]
  when 400
    raise Checkerberry::RequestError, error_message
  when 401
    raise Checkerberry::Unauthorized, error_message
  when 404
    raise Checkerberry::NotFound, error_message
  when 500
    raise Checkerberry::InternalServerError, error_message
  when 502
    raise Checkerberry::BadGateway, error_message
  when 503
    raise Checkerberry::ServiceUnavailable, error_message
  end
end