module Rack::Request::Env

Attributes

env[R]

The environment of the request.

Public Class Methods

new(env) click to toggle source
Calls superclass method
# File lib/rack/request.rb, line 49
def initialize(env)
  @env = env
  super()
end

Public Instance Methods

add_header(key, v) click to toggle source

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')

www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2

# File lib/rack/request.rb, line 90
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) click to toggle source

Delete a request specific value for `name`.

# File lib/rack/request.rb, line 101
def delete_header(name)
  @env.delete name
end
each_header(&block) click to toggle source

Loops through each key / value pair in the request specific data.

# File lib/rack/request.rb, line 72
def each_header(&block)
  @env.each(&block)
end
fetch_header(name, &block) click to toggle source

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 67
def fetch_header(name, &block)
  @env.fetch(name, &block)
end
get_header(name) click to toggle source

Get a request specific value for `name`.

# File lib/rack/request.rb, line 61
def get_header(name)
  @env[name]
end
has_header?(name) click to toggle source

Predicate method to test to see if `name` has been set as request specific data

# File lib/rack/request.rb, line 56
def has_header?(name)
  @env.key? name
end
initialize_copy(other) click to toggle source
# File lib/rack/request.rb, line 105
def initialize_copy(other)
  @env = other.env.dup
end
set_header(name, v) click to toggle source

Set a request specific value for `name` to `v`

# File lib/rack/request.rb, line 77
def set_header(name, v)
  @env[name] = v
end