class Gorilla::Middleware::HttpExceptions
Public Instance Methods
call(env)
click to toggle source
# File lib/gorilla/middleware/http_exceptions.rb, line 5 def call(env) @app.call(env).on_complete do |response| case response[:status].to_s.strip when '400' raise_error Gorilla::BadRequest, response when '401' raise_error Gorilla::Unauthorized, response when '404' raise_error Gorilla::NotFound, response when '422' raise_error Gorilla::ValidationError, response when /50\d/ raise_error Gorilla::ServerError, response end end end
Private Instance Methods
raise_error(klass, response)
click to toggle source
# File lib/gorilla/middleware/http_exceptions.rb, line 24 def raise_error(klass, response) msg = if response[:body].kind_of?(Hash) && response[:body]['error'] response[:body]['error']['type'] else response[:body] end error_message = [response[:status], msg].compact.join(': ') raise klass.new(response), error_message end