class Faraday::EdsExceptionMiddleware
Public Class Methods
new(app)
click to toggle source
Calls superclass method
# File lib/faraday/eds_exception_middleware.rb, line 7 def initialize(app) super app end
Public Instance Methods
call(env)
click to toggle source
# File lib/faraday/eds_exception_middleware.rb, line 11 def call(env) begin @app.call(env).on_complete do |response| case response.status when 200 when 400 if response.body['ErrorNumber'] == '132' raise EBSCO::EDS::NotFound.new(error_message(response)) else raise EBSCO::EDS::BadRequest.new(error_message(response)) end # when 401 # raise EBSCO::EDS::Unauthorized.new # when 403 # raise EBSCO::EDS::Forbidden.new # when 404 # raise EBSCO::EDS::NotFound.new # when 429 # raise EBSCO::EDS::TooManyRequests.new when 500 raise EBSCO::EDS::InternalServerError.new when 503 raise EBSCO::EDS::ServiceUnavailable.new else raise EBSCO::EDS::BadRequest.new(error_message(response)) end end rescue Faraday::ConnectionFailed raise EBSCO::EDS::ConnectionFailed.new end end
Private Instance Methods
error_message(response)
click to toggle source
# File lib/faraday/eds_exception_middleware.rb, line 45 def error_message(response) #puts response.inspect { method: response.method, url: response.url, status: response.status, error_body: response.body } end