Class: Faraday::SerranoErrors::Middleware
- Inherits:
-
Middleware
- Object
- Middleware
- Faraday::SerranoErrors::Middleware
- Defined in:
- lib/serrano/faraday.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ Middleware
constructor
A new instance of Middleware.
Constructor Details
#initialize(app) ⇒ Middleware
Returns a new instance of Middleware.
30 31 32 33 |
# File 'lib/serrano/faraday.rb', line 30 def initialize(app) super app @parser = nil end |
Instance Method Details
#call(env) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/serrano/faraday.rb', line 11 def call(env) @app.call(env).on_complete do |response| case response[:status].to_i when 400 raise Serrano::BadRequest, (response) when 404 raise Serrano::NotFound, (response) when 500 raise Serrano::InternalServerError, (response, "Something is technically wrong.") when 502 raise Serrano::BadGateway, (response, "The server returned an invalid or incomplete response.") when 503 raise Serrano::ServiceUnavailable, (response, "Crossref is rate limiting your requests.") when 504 raise Serrano::GatewayTimeout, (response, "504 Gateway Time-out") end end end |