class IdempotentRequest::Request
Attributes
request[R]
Public Class Methods
new(env, config = {})
click to toggle source
# File lib/idempotent-request/request.rb, line 5 def initialize(env, config = {}) @request = Rack::Request.new(env) @header_name = config.fetch(:header_key, 'HTTP_IDEMPOTENCY_KEY') end
Public Instance Methods
key()
click to toggle source
# File lib/idempotent-request/request.rb, line 10 def key request.env[header_name] end
method_missing(method, *args)
click to toggle source
Calls superclass method
# File lib/idempotent-request/request.rb, line 14 def method_missing(method, *args) if request.respond_to?(method) request.send(method, *args) else super end end
Private Instance Methods
header_name()
click to toggle source
# File lib/idempotent-request/request.rb, line 24 def header_name key = @header_name.to_s .upcase .tr('-', '_') key.start_with?('HTTP_') ? key : "HTTP_#{key}" end