class Rack::Ougai::AttachRequestID
Constants
- REQUEST_ID_KEY
Public Class Methods
new(app, opts = {})
click to toggle source
# File lib/rack/ougai/attach_requestid.rb, line 8 def initialize(app, opts = {}) @app = app @storage = opts[:storage] || proc { Thread.current } end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack/ougai/attach_requestid.rb, line 14 def call(env) parent = env[Rack::RACK_LOGGER] request_id = env[REQUEST_ID_KEY] if request_id.nil? parent.warn "No request ID in storage (is Rack::RequestID in your middleware stack?)." end env[Rack::RACK_LOGGER] = parent.child(request_id: request_id) ret = @app.call(env) env[Rack::RACK_LOGGER] = parent ret end