Class: ActionDispatch::Http::Headers
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
self,
::Enumerable
|
|
Inherits: | Object |
Defined in: | actionpack/lib/action_dispatch/http/headers.rb |
Overview
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"
Constant Summary
-
CGI_VARIABLES =
# File 'actionpack/lib/action_dispatch/http/headers.rb', line 9Set.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 =
# File 'actionpack/lib/action_dispatch/http/headers.rb', line 30/\A[A-Za-z0-9-]+\z/
Instance Attribute Summary
- #env readonly
::Enumerable - Included
#many? | Returns |
Instance Method Summary
-
#[](key)
Returns the value for the given key mapped to @env.
-
#[]=(key, value)
Sets the given value for the key mapped to @env.
- #each(&block)
-
#fetch(key, *args, &block)
Returns the value for the given key mapped to @env.
-
#include?(key)
Alias for #key?.
- #key?(key) ⇒ Boolean (also: #include?)
-
#merge(headers_or_env)
Returns a new
Headers
instance containing the contents ofheaders_or_env
and the original instance. -
#merge!(headers_or_env)
Adds the contents of
headers_or_env
to original instance entries; duplicate keys are overwritten with the values fromheaders_or_env
.
::Enumerable - Included
Instance Attribute Details
#env (readonly)
[ GitHub ]# File 'actionpack/lib/action_dispatch/http/headers.rb', line 33
attr_reader :env
Instance Method Details
#[](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)
[ GitHub ]# 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?.
# File 'actionpack/lib/action_dispatch/http/headers.rb', line 52
alias :include? :key?
#key?(key) ⇒ Boolean
Also known 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 Headers
instance containing the contents of headers_or_env
and the original instance.
#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