Sha256: bf31ada6d33c331ba1c94ba0c049464cf588b88b6664f851c5a5bc43246d8777

Contents?: true

Size: 1.34 KB

Versions: 16

Compression:

Stored size: 1.34 KB

Contents

module Bugsnag::Middleware
  ##
  # Sets the severity to info for low-importance errors
  class ClassifyError
    INFO_CLASSES = [
        "AbstractController::ActionNotFound",
        "ActionController::InvalidAuthenticityToken",
        "ActionController::ParameterMissing",
        "ActionController::UnknownAction",
        "ActionController::UnknownFormat",
        "ActionController::UnknownHttpMethod",
        "ActionDispatch::Http::MimeNegotiation::InvalidType",
        "ActiveRecord::RecordNotFound",
        "CGI::Session::CookieStore::TamperedWithCookie",
        "Mongoid::Errors::DocumentNotFound",
        "SignalException",
        "SystemExit"
    ]

    def initialize(bugsnag)
      @bugsnag = bugsnag
    end

    def call(report)
      report.raw_exceptions.each do |ex|

        ancestor_chain = ex.class.ancestors.select {
          |ancestor| ancestor.is_a?(Class)
        }.map {
          |ancestor| ancestor.to_s
        }

        INFO_CLASSES.each do |info_class|
          if ancestor_chain.include?(info_class)
            report.severity_reason = {
              :type => Bugsnag::Report::ERROR_CLASS,
              :attributes => {
                :errorClass => info_class
              }
            }
            report.severity = 'info'
            break
          end
        end
      end

      @bugsnag.call(report)
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
bugsnag-6.27.1 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.26.4 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.26.3 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.26.2 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.26.1 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.26.0 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.25.2 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.25.1 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.25.0 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.24.2 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.24.1 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.24.0 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.23.0 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.22.1 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.21.0 lib/bugsnag/middleware/classify_error.rb
bugsnag-6.20.0 lib/bugsnag/middleware/classify_error.rb