Sha256: 7ee54b730336ba4753253d0ae6ead473c873fcd441df601538f082d80a699433

Contents?: true

Size: 857 Bytes

Versions: 3

Compression:

Stored size: 857 Bytes

Contents

require 'mailman'

module Bugsnag
  class Mailman
    def initialize
      Bugsnag.configuration.internal_middleware.use(Bugsnag::Middleware::Mailman)
      Bugsnag.configuration.app_type = "mailman"
    end

    def call(mail)
      begin

        Bugsnag.set_request_data :mailman_msg, mail.to_s

        yield
      rescue Exception => ex
        raise ex if [Interrupt, SystemExit, SignalException].include? ex.class
        Bugsnag.auto_notify(ex, {
          :severity_reason => {
            :type => Bugsnag::Notification::UNHANDLED_EXCEPTION_MIDDLEWARE,
            :attributes => {
              :framework => "Mailman"
            }
          }
        })
        raise
      ensure
        Bugsnag.clear_request_data
      end
    end
  end
end


if Mailman.config.respond_to?(:middleware)
  Mailman.config.middleware.add ::Bugsnag::Mailman
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bugsnag-5.5.0 lib/bugsnag/mailman.rb
bugsnag-5.4.1 lib/bugsnag/mailman.rb
bugsnag-5.4.0 lib/bugsnag/mailman.rb