Sha256: f36b4f0c02c090d2dd5c6562b3c0875f854f1a80dbbf17ad601493fa0a32c507

Contents?: true

Size: 719 Bytes

Versions: 10

Compression:

Stored size: 719 Bytes

Contents

module Rack::ActionLogger
  class Context

    def initialize(app)
      @app = app
    end

    def call(env)
      Emitter.new.emit do
        status_code, headers, body = @app.call(env)
        capture_rack_log(env, status_code, headers, body)
        [status_code, headers, body]
      end
    end

    def capture_rack_log(env, status_code, headers, body)
      rack_metrics = Rack::ActionLogger.configuration.rack_metrics.new(env, status_code, headers, body)
      return if rack_metrics.metrics.nil?
      Rack::ActionLogger::Container.set_request_log(rack_metrics.metrics, rack_metrics.tag_suffix)
      Rack::ActionLogger::Container.merge_attributes({ request_id: rack_metrics.request_id })
    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rack-action_logger-0.4.0 lib/rack/action_logger/context.rb
rack-action_logger-0.3.0 lib/rack/action_logger/context.rb
rack-action_logger-0.2.0 lib/rack/action_logger/context.rb
rack-action_logger-0.1.9 lib/rack/action_logger/context.rb
rack-action_logger-0.1.8 lib/rack/action_logger/context.rb
rack-action_logger-0.1.7 lib/rack/action_logger/context.rb
rack-action_logger-0.1.6 lib/rack/action_logger/context.rb
rack-action_logger-0.1.5 lib/rack/action_logger/context.rb
rack-action_logger-0.1.4 lib/rack/action_logger/context.rb
rack-action_logger-0.1.3 lib/rack/action_logger/context.rb