Class: Gritz::Middleware::RequestId
- Inherits:
-
Object
- Object
- Gritz::Middleware::RequestId
- Defined in:
- /home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/middleware/request_id.rb
Overview
Assigns and echoes a correlation ID for each RPC.
Instance Method Summary collapse
- #call(context) ⇒ Object
-
#initialize(app) ⇒ RequestId
constructor
A new instance of RequestId.
Constructor Details
#initialize(app) ⇒ RequestId
Returns a new instance of RequestId.
10 11 12 |
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/middleware/request_id.rb', line 10 def initialize(app) @app = app end |
Instance Method Details
#call(context) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File '/home/runner/work/gritz/gritz/sources/gritz-core/lib/gritz/middleware/request_id.rb', line 14 def call(context) incoming = Array(context.["x-request-id"]).first context.request_id = incoming.is_a?(String) && incoming.match?(/\A[\x21-\x7e]{1,128}\z/) ? incoming : SecureRandom.uuid = { "x-request-id" => context.request_id } if context.call.respond_to?(:merge_initial_metadata) context.call.() else context.call.() end @app.call(context) end |