class ActionDispatch::Http::Headers
Constants
- CGI_VARIABLES
- HTTP_HEADER
Attributes
env[R]
Public Class Methods
new(env = {})
click to toggle source
# File lib/action_dispatch/http/headers.rb, line 17 def initialize(env = {}) @env = env end
Public Instance Methods
[](key)
click to toggle source
# File lib/action_dispatch/http/headers.rb, line 21 def [](key) @env[env_name(key)] end
[]=(key, value)
click to toggle source
# File lib/action_dispatch/http/headers.rb, line 25 def []=(key, value) @env[env_name(key)] = value end
each(&block)
click to toggle source
# File lib/action_dispatch/http/headers.rb, line 38 def each(&block) @env.each(&block) end
fetch(key, *args, &block)
click to toggle source
# File lib/action_dispatch/http/headers.rb, line 34 def fetch(key, *args, &block) @env.fetch env_name(key), *args, &block end
key?(key)
click to toggle source
# File lib/action_dispatch/http/headers.rb, line 29 def key?(key) @env.key? env_name(key) end
Also aliased as: include?
merge(headers_or_env)
click to toggle source
# File lib/action_dispatch/http/headers.rb, line 42 def merge(headers_or_env) headers = Http::Headers.new(env.dup) headers.merge!(headers_or_env) headers end
merge!(headers_or_env)
click to toggle source
# File lib/action_dispatch/http/headers.rb, line 48 def merge!(headers_or_env) headers_or_env.each do |key, value| self[env_name(key)] = value end end
Private Instance Methods
env_name(key)
click to toggle source
# File lib/action_dispatch/http/headers.rb, line 55 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