Sha256: 2ca2e18b7cb6ea39badcceff653c759b0945f38167f76be6c74d0b3826dd83c8

Contents?: true

Size: 682 Bytes

Versions: 23

Compression:

Stored size: 682 Bytes

Contents

module Timber
  module Integrations
    module Rack
      # Reponsible for capturing exceptions events within a Rack stack.
      class ExceptionEvent
        def initialize(app)
          @app = app
        end

        def call(env)
          begin
            status, headers, body = @app.call(env)
          rescue Exception => exception
            Config.instance.logger.fatal do
              Events::Exception.new(
                name: exception.class.name,
                exception_message: exception.message,
                backtrace: exception.backtrace
              )
            end

            raise exception
          end
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
timber-2.0.2 lib/timber/integrations/rack/exception_event.rb
timber-2.0.1 lib/timber/integrations/rack/exception_event.rb
timber-2.0.0 lib/timber/integrations/rack/exception_event.rb