class GoogleCloudRun::RequestId
Public Class Methods
new(app)
click to toggle source
# File lib/google_cloud_run/request_id.rb, line 3 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
A middleware to replace X-Request-Id with X-Cloud-Trace-Context's Trace ID ref: github.com/rails/rails/blob/6-1-stable/actionpack/lib/action_dispatch/middleware/request_id.rb ref: github.com/Octo-Labs/heroku-request-id/blob/master/lib/heroku-request-id/railtie.rb
# File lib/google_cloud_run/request_id.rb, line 10 def call(env) req = ActionDispatch::Request.new env trace, _, _ = GoogleCloudRun.parse_trace_context(req.headers["X-Cloud-Trace-Context"]) @app.call(env).tap { |_status, headers, _body| headers["X-Request-Id"] = trace } end