class FaradayMiddleware::RaiseHttpException

Public Class Methods

new(app) click to toggle source
Calls superclass method
# File lib/adriver_api/raise_http_exception.rb, line 19
def initialize(app)
  super app
  @parser = nil
end

Public Instance Methods

call(env) click to toggle source
# File lib/adriver_api/raise_http_exception.rb, line 5
def call(env)
  @app.call(env).on_complete do |response|
    case response[:status].to_i
    when 400
      raise AdriverApi::BadRequest
    when 401
      raise AdriverApi::AccessDenied if response.body.include? 'Not authorized to work with object'
      raise AdriverApi::UnAuthorized
    when 404
      raise AdriverApi::NotFound
    end
  end
end