class Faraday::RequestId

Constants

Public Class Methods

new(app, options = nil) click to toggle source
Calls superclass method
# File lib/faraday/request_id.rb, line 8
def initialize(app, options = nil)
  super(app)
  @options = options || default_options
end

Public Instance Methods

call(env) click to toggle source
# File lib/faraday/request_id.rb, line 13
def call(env)
  set_header(env) if needs_header?(env)
  @app.call(env)
end

Private Instance Methods

default_options() click to toggle source
# File lib/faraday/request_id.rb, line 28
def default_options
  { key: :request_id, header: HEADER }
end
needs_header?(env) click to toggle source
# File lib/faraday/request_id.rb, line 20
def needs_header?(env)
  ::RequestId.get(@options[:key]) && !env[:request_headers][@options[:header]]
end
set_header(env) click to toggle source
# File lib/faraday/request_id.rb, line 24
def set_header(env)
  env[:request_headers][@options[:header]] = ::RequestId.get(@options[:key])
end