123456789_123456789_123456789_123456789_123456789_

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

Instance Attribute Summary

::Enumerable - Included

#many?

Returns true if the enumerable has more than 1 element.

Instance Method Summary

::Enumerable - Included

#exclude?

The negative of the Enumerable#include?.

#index_by

Convert an enumerable to a hash.

#sum

Calculates a sum from the elements.

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.

[ GitHub ]

  
# 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.

[ GitHub ]

  
# 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.

[ GitHub ]

  
# 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?.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/headers.rb', line 52

alias :include? :key?

#key?(key) ⇒ Boolean Also known as: #include?

[ GitHub ]

  
# 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.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/headers.rb', line 71

def merge(headers_or_env)
  headers = Http::Headers.new(env.dup)
  headers.merge!(headers_or_env)
  headers
end

#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.

[ GitHub ]

  
# 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