class ApiValve::Middleware::ErrorHandling

Public Class Methods

new(app) click to toggle source
# File lib/api_valve/middleware/error_handling.rb, line 3
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/api_valve/middleware/error_handling.rb, line 7
def call(env)
  @app.call(env)
rescue Exception => e # rubocop:disable Lint/RescueException
  log_error e
  self.class.const_get(ApiValve.error_responder).new(e).call
end

Private Instance Methods

log_error(error) click to toggle source
# File lib/api_valve/middleware/error_handling.rb, line 16
def log_error(error)
  ApiValve.logger.error { "#{error.class}: #{error.message}" }
  ApiValve.logger.error { error.backtrace.join("\n") }
end