# File lib/action_dispatch/http/headers.rb, line 17 def initialize(env = {}) @env = env end
# File lib/action_dispatch/http/headers.rb, line 21 def [](key) @env[env_name(key)] end
# File lib/action_dispatch/http/headers.rb, line 25 def []=(key, value) @env[env_name(key)] = value end
# File lib/action_dispatch/http/headers.rb, line 36 def each(&block) @env.each(&block) end
# File lib/action_dispatch/http/headers.rb, line 32 def fetch(key, *args, &block) @env.fetch env_name(key), *args, &block end
# File lib/action_dispatch/http/headers.rb, line 29 def key?(key); @env.key? key; end
# File lib/action_dispatch/http/headers.rb, line 40 def merge(headers_or_env) headers = Http::Headers.new(env.dup) headers.merge!(headers_or_env) headers end
# File lib/action_dispatch/http/headers.rb, line 46 def merge!(headers_or_env) headers_or_env.each do |key, value| self[env_name(key)] = value end end
# File lib/action_dispatch/http/headers.rb, line 53 def env_name(key) key = key.to_s if key =~ HTTP_HEADER key = key.upcase.tr('-', '_') key = "HTTP_" + key unless CGI_VARIABLES.include?(key) end key end