Sha256: 33a900fb526f73435fdec170de0e269844efea2afbb05c1fc32a645113b292c2
Contents?: true
Size: 1.06 KB
Versions: 4
Compression:
Stored size: 1.06 KB
Contents
module Airbrake module Rails module Middleware module ExceptionsCatcher def self.included(base) base.send(:alias_method_chain,:render_exception,:airbrake) end def skip_user_agent?(env) user_agent = env["HTTP_USER_AGENT"] ::Airbrake.configuration.ignore_user_agent.flatten.any? { |ua| ua === user_agent } rescue false end def render_exception_with_airbrake(env,exception) begin controller = env['action_controller.instance'] env['airbrake.error_id'] = Airbrake. notify_or_ignore(exception, controller.try(:airbrake_request_data) || {:rack_env => env}) unless skip_user_agent?(env) if defined?(controller.rescue_action_in_public_without_airbrake) controller.rescue_action_in_public_without_airbrake(exception) end rescue # do nothing end render_exception_without_airbrake(env,exception) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems