Module: Rack::Request::Env
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Defined in: | lib/rack/request.rb |
Instance Attribute Summary
-
#env
readonly
The environment of the request.
Instance Method Summary
-
#add_header(key, v)
Add a header that may have multiple values.
-
#delete_header(name)
Delete a request specific value for
name
. -
#each_header(&block)
Loops through each key / value pair in the request specific data.
-
#fetch_header(name, &block)
If a block is given, it yields to the block if the value hasn’t been set on the request.
-
#get_header(name)
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)
- #initialize_copy(other)
-
#set_header(name, v)
Set a request specific value for
name
to ‘v`.
Instance Attribute Details
#env (readonly)
The environment of the request.
# File 'lib/rack/request.rb', line 84
attr_reader :env
Instance Method Details
#add_header(key, v)
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')
# 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)
Delete a request specific value for name
.
# File 'lib/rack/request.rb', line 140
def delete_header(name) @env.delete name end
#each_header(&block)
Loops through each key / value pair in the request specific data.
# File 'lib/rack/request.rb', line 111
def each_header(&block) @env.each(&block) end
#fetch_header(name, &block)
If a block is given, it yields to the block if the value hasn’t been set on the request.
# File 'lib/rack/request.rb', line 106
def fetch_header(name, &block) @env.fetch(name, &block) end
#get_header(name)
Get a request specific value for name
.
# 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
# File 'lib/rack/request.rb', line 95
def has_header?(name) @env.key? name end
#initialize(env)
[ GitHub ]#initialize_copy(other)
[ GitHub ]# File 'lib/rack/request.rb', line 144
def initialize_copy(other) @env = other.env.dup end
#set_header(name, v)
Set a request specific value for name
to ‘v`
# File 'lib/rack/request.rb', line 116
def set_header(name, v) @env[name] = v end