module Honeybadger::Plugins::Rails::ExceptionsCatcher

Public Instance Methods

render_exception(arg, exception) click to toggle source

Adds additional Honeybadger info to Request env when an exception is rendered in Rails' middleware.

@param [Hash, ActionDispatch::Request] arg The Rack env Hash in Rails 3.0-4.2. After Rails 5 arg is an ActionDispatch::Request. @param [Exception] exception The error which was rescued.

@return The super value of the middleware's +#render_exception()+ method.

Calls superclass method
# File lib/honeybadger/plugins/rails.rb, line 16
def render_exception(arg, exception)
  if arg.kind_of?(::ActionDispatch::Request)
    request = arg
    env = request.env
  else
    request = ::Rack::Request.new(arg)
    env = arg
  end

  env['honeybadger.exception'] = exception
  env['honeybadger.request.url'] = request.url rescue nil

  super(arg, exception)
end