class Labkit::Correlation::GRPC::ClientInterceptor

ClientInterceptor is used to inject the correlation_id into the metadata or a GRPC call for onward propagation to the server

Public Instance Methods

bidi_streamer(requests:, call:, method:, metadata:) { || ... } click to toggle source
# File lib/labkit/correlation/grpc/client_interceptor.rb, line 35
def bidi_streamer(requests:, call:, method:, metadata:)
  inject_correlation_id_into_metadata(metadata)

  yield
end
client_streamer(requests:, call:, method:, metadata:) { || ... } click to toggle source
# File lib/labkit/correlation/grpc/client_interceptor.rb, line 23
def client_streamer(requests:, call:, method:, metadata:)
  inject_correlation_id_into_metadata(metadata)

  yield
end
request_response(request:, call:, method:, metadata:) { || ... } click to toggle source
# File lib/labkit/correlation/grpc/client_interceptor.rb, line 17
def request_response(request:, call:, method:, metadata:)
  inject_correlation_id_into_metadata(metadata)

  yield
end
server_streamer(request:, call:, method:, metadata:) { || ... } click to toggle source
# File lib/labkit/correlation/grpc/client_interceptor.rb, line 29
def server_streamer(request:, call:, method:, metadata:)
  inject_correlation_id_into_metadata(metadata)

  yield
end

Private Instance Methods

inject_correlation_id_into_metadata(metadata, &block) click to toggle source
# File lib/labkit/correlation/grpc/client_interceptor.rb, line 43
def inject_correlation_id_into_metadata(metadata, &block)
  metadata[CORRELATION_METADATA_KEY] = Labkit::Correlation::CorrelationId.current_id if Labkit::Correlation::CorrelationId.current_id
end