Sha256: 45192d647273bbb245faa77b5bc4fe4713a70194e46b424718f7852571c77ae3

Contents?: true

Size: 592 Bytes

Versions: 73

Compression:

Stored size: 592 Bytes

Contents

require 'rack/commonlogger'

module Rack
  # Patch CommonLogger to use after_reply.
  #
  # Simply request this file and CommonLogger will be a bit more 
  # efficient.
  class CommonLogger
    remove_method :call

    def call(env)
      began_at = Time.now
      status, header, body = @app.call(env)
      header = Utils::HeaderHash.new(header)

      if ary = env['rack.after_reply']
        ary << lambda { log(env, status, header, began_at) }
      else
        body = BodyProxy.new(body) { log(env, status, header, began_at) }
      end

      [status, header, body]
    end
  end
end

Version data entries

73 entries across 73 versions & 2 rubygems

Version Path
puma-1.0.0 lib/puma/rack_patch.rb
puma-0.9.5-java lib/puma/rack_patch.rb
puma-0.9.5 lib/puma/rack_patch.rb
puma-0.9.4-java lib/puma/rack_patch.rb
puma-0.9.4 lib/puma/rack_patch.rb
puma-0.9.3-java lib/puma/rack_patch.rb
puma-0.9.3 lib/puma/rack_patch.rb
puma-0.9.2-java lib/puma/rack_patch.rb
puma-0.9.2 lib/puma/rack_patch.rb
puma-0.9.1-java lib/puma/rack_patch.rb
puma-0.9.1 lib/puma/rack_patch.rb
puma-0.9.0-java lib/puma/rack_patch.rb
puma-0.9.0 lib/puma/rack_patch.rb