Module: Pinot::RequestIdInjector

Defined in:
lib/pinot/railtie.rb

Overview

Prepended into Connection when the Railtie is active. Automatically merges the current request’s X-Request-Id into every outbound Pinot query as an HTTP header, without requiring callers to pass it explicitly.

Instance Method Summary collapse

Instance Method Details

#execute_sql(table, query, query_timeout_ms: nil, headers: {}) ⇒ Object



99
100
101
102
103
# File 'lib/pinot/railtie.rb', line 99

def execute_sql(table, query, query_timeout_ms: nil, headers: {})
  rid = Thread.current[:pinot_request_id]
  merged = rid && !headers.key?("X-Request-Id") ? headers.merge("X-Request-Id" => rid) : headers
  super(table, query, query_timeout_ms: query_timeout_ms, headers: merged)
end