Sha256: b10f0f0c261b8621d8d7a75325e7bcb0cbe59a909b0b2c943e4e153402853dae
Contents?: true
Size: 636 Bytes
Versions: 5
Compression:
Stored size: 636 Bytes
Contents
module IdempotentRequest class Request attr_reader :request def initialize(env, config = {}) @request = Rack::Request.new(env) @header_name = config.fetch(:header_key, 'HTTP_IDEMPOTENCY_KEY') end def key request.env[header_name] end def method_missing(method, *args) if request.respond_to?(method) request.send(method, *args) else super end end private def header_name key = @header_name.to_s .upcase .tr('-', '_') key.start_with?('HTTP_') ? key : "HTTP_#{key}" end end end
Version data entries
5 entries across 5 versions & 1 rubygems