edge badge

Provides access to the request's HTTP headers from the environment.

env     = { "CONTENT_TYPE" => "text/plain" }
headers = ActionDispatch::Http::Headers.new(env)
headers["Content-Type"] # => "text/plain"
Methods
#
E
F
I
K
M
Included Modules
Constants
CGI_VARIABLES = Set.new(%W[ AUTH_TYPE CONTENT_LENGTH CONTENT_TYPE GATEWAY_INTERFACE HTTPS PATH_INFO PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER REQUEST_METHOD SCRIPT_NAME SERVER_NAME SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE ]).freeze
 
HTTP_HEADER = /\A[A-Za-z0-9-]+\z/
 
Attributes
[R] env
Instance Public methods
[](key)

Returns the value for the given key mapped to @env.

# File actionpack/lib/action_dispatch/http/headers.rb, line 40
def [](key)
  @env[env_name(key)]
end
[]=(key, value)

Sets the given value for the key mapped to @env.

# File actionpack/lib/action_dispatch/http/headers.rb, line 45
def []=(key, value)
  @env[env_name(key)] = value
end
each(&block)
# File actionpack/lib/action_dispatch/http/headers.rb, line 65
def each(&block)
  @env.each(&block)
end
fetch(key, *args, &block)

Returns the value for the given key mapped to @env.

If the key is not found and an optional code block is not provided, raises a KeyError exception.

If the code block is provided, then it will be run and its result returned.

# File actionpack/lib/action_dispatch/http/headers.rb, line 61
def fetch(key, *args, &block)
  @env.fetch env_name(key), *args, &block
end
include?(key)
Alias for: key?
key?(key)
Also aliased as: include?
# File actionpack/lib/action_dispatch/http/headers.rb, line 49
def key?(key)
  @env.key? env_name(key)
end
merge(headers_or_env)

Returns a new Http::Headers instance containing the contents of headers_or_env and the original instance.

# File actionpack/lib/action_dispatch/http/headers.rb, line 71
def merge(headers_or_env)
  headers = Http::Headers.new(env.dup)
  headers.merge!(headers_or_env)
  headers
end
merge!(headers_or_env)

Adds the contents of headers_or_env to original instance entries; duplicate keys are overwritten with the values from headers_or_env.

# File actionpack/lib/action_dispatch/http/headers.rb, line 80
def merge!(headers_or_env)
  headers_or_env.each do |key, value|
    self[env_name(key)] = value
  end
end