Module: Rack::Request::Env
- Included in:
- Rack::Request
- Defined in:
- lib/rack/request.rb
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
The environment of the request.
Instance Method Summary collapse
-
#add_header(key, v) ⇒ Object
Add a header that may have multiple values.
-
#delete_header(name) ⇒ Object
Delete a request specific value for ‘name`.
-
#each_header(&block) ⇒ Object
Loops through each key / value pair in the request specific data.
-
#fetch_header(name, &block) ⇒ Object
If a block is given, it yields to the block if the value hasn’t been set on the request.
-
#get_header(name) ⇒ Object
Get a request specific value for ‘name`.
-
#has_header?(name) ⇒ Boolean
Predicate method to test to see if ‘name` has been set as request specific data.
- #initialize(env) ⇒ Object
- #initialize_copy(other) ⇒ Object
-
#set_header(name, v) ⇒ Object
Set a request specific value for ‘name` to `v`.
Instance Attribute Details
#env ⇒ Object (readonly)
The environment of the request.
84 85 86 |
# File 'lib/rack/request.rb', line 84 def env @env end |
Instance Method Details
#add_header(key, v) ⇒ Object
Add a header that may have multiple values.
Example:
request.add_header 'Accept', 'image/png'
request.add_header 'Accept', '*/*'
assert_equal 'image/png,*/*', request.get_header('Accept')
129 130 131 132 133 134 135 136 137 |
# File 'lib/rack/request.rb', line 129 def add_header(key, v) if v.nil? get_header key elsif has_header? key set_header key, "#{get_header key},#{v}" else set_header key, v end end |
#delete_header(name) ⇒ Object
Delete a request specific value for ‘name`.
140 141 142 |
# File 'lib/rack/request.rb', line 140 def delete_header(name) @env.delete name end |
#each_header(&block) ⇒ Object
Loops through each key / value pair in the request specific data.
111 112 113 |
# File 'lib/rack/request.rb', line 111 def each_header(&block) @env.each(&block) end |
#fetch_header(name, &block) ⇒ Object
If a block is given, it yields to the block if the value hasn’t been set on the request.
106 107 108 |
# File 'lib/rack/request.rb', line 106 def fetch_header(name, &block) @env.fetch(name, &block) end |
#get_header(name) ⇒ Object
Get a request specific value for ‘name`.
100 101 102 |
# File 'lib/rack/request.rb', line 100 def get_header(name) @env[name] end |
#has_header?(name) ⇒ Boolean
Predicate method to test to see if ‘name` has been set as request specific data
95 96 97 |
# File 'lib/rack/request.rb', line 95 def has_header?(name) @env.key? name end |
#initialize(env) ⇒ Object
86 87 88 89 90 91 |
# File 'lib/rack/request.rb', line 86 def initialize(env) @env = env # This module is included at least in `ActionDispatch::Request` # The call to `super()` allows additional mixed-in initializers are called super() end |
#initialize_copy(other) ⇒ Object
144 145 146 |
# File 'lib/rack/request.rb', line 144 def initialize_copy(other) @env = other.env.dup end |
#set_header(name, v) ⇒ Object
Set a request specific value for ‘name` to `v`
116 117 118 |
# File 'lib/rack/request.rb', line 116 def set_header(name, v) @env[name] = v end |