1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/lib/puma/rack_patch.rb
2011-10-20 23:07:24 -07:00

22 lines
506 B
Ruby

require 'rack/commonlogger'
module Rack
# Patch CommonLogger to use after_reply
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