class Hanami::Events::CloudPubsub::Middleware::RequestId
Middleware
used for logging useful information about an event
Public Instance Methods
call(msg, **opts) { |**opts| ... }
click to toggle source
# File lib/hanami/events/cloud_pubsub/middleware/request_id.rb, line 15 def call(msg, **opts) setup_request_id(msg) yield(**opts) ensure clear_request_id(msg) end
Private Instance Methods
clear_request_id(_msg)
click to toggle source
# File lib/hanami/events/cloud_pubsub/middleware/request_id.rb, line 32 def clear_request_id(_msg) ::RequestId.request_id = nil rescue StandardError => e warn "Could not clear request_id (#{e.message})" end
setup_request_id(msg)
click to toggle source
# File lib/hanami/events/cloud_pubsub/middleware/request_id.rb, line 24 def setup_request_id(msg) id = msg.attributes['request_id'] || msg.attributes[:request_id] ::RequestId.request_id = id || SecureRandom.uuid rescue StandardError => e warn "Could not set request_id (#{e.message})" end