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.
      48 49 50  | 
    
      # File 'lib/rack/request.rb', line 48 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')
  
      91 92 93 94 95 96 97 98 99  | 
    
      # File 'lib/rack/request.rb', line 91 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`.
      102 103 104  | 
    
      # File 'lib/rack/request.rb', line 102 def delete_header(name) @env.delete name end  | 
  
#each_header(&block) ⇒ Object
Loops through each key / value pair in the request specific data.
      73 74 75  | 
    
      # File 'lib/rack/request.rb', line 73 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.
      68 69 70  | 
    
      # File 'lib/rack/request.rb', line 68 def fetch_header(name, &block) @env.fetch(name, &block) end  | 
  
#get_header(name) ⇒ Object
Get a request specific value for `name`.
      62 63 64  | 
    
      # File 'lib/rack/request.rb', line 62 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
      57 58 59  | 
    
      # File 'lib/rack/request.rb', line 57 def has_header?(name) @env.key? name end  | 
  
#initialize(env) ⇒ Object
      50 51 52 53  | 
    
      # File 'lib/rack/request.rb', line 50 def initialize(env) @env = env super() end  | 
  
#initialize_copy(other) ⇒ Object
      106 107 108  | 
    
      # File 'lib/rack/request.rb', line 106 def initialize_copy(other) @env = other.env.dup end  | 
  
#set_header(name, v) ⇒ Object
Set a request specific value for `name` to `v`
      78 79 80  | 
    
      # File 'lib/rack/request.rb', line 78 def set_header(name, v) @env[name] = v end  |