You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Seahorse::Client::Http::Headers

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
gems/aws-sdk-core/lib/seahorse/client/http/headers.rb

Overview

Provides a Hash-like interface for HTTP headers. Header names are treated indifferently as lower-cased strings. Header values are cast to strings.

headers = Http::Headers.new
headers['Content-Length'] = 100
headers[:Authorization] = 'Abc'

headers.keys
#=> ['content-length', 'authorization']

headers.values
#=> ['100', 'Abc']

You can get the header values as a vanilla hash by calling #to_h:

headers.to_h
#=> { 'content-length' => '100', 'authorization' => 'Abc' }

Instance Method Summary collapse

Instance Method Details

#[](key) ⇒ String

Parameters:

  • key (String)

Returns:

  • (String)


38
39
40
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 38

def [](key)
  @data[key.to_s.downcase]
end

#[]=(key, value) ⇒ Object

Parameters:

  • key (String)
  • value (String)


44
45
46
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 44

def []=(key, value)
  @data[key.to_s.downcase] = value.to_s
end

#clearObject



62
63
64
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 62

def clear
  @data = {}
end

#delete(key) ⇒ Object

Parameters:

  • key (String)


58
59
60
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 58

def delete(key)
  @data.delete(key.to_s.downcase)
end

#each {|key, value| ... } ⇒ nil Also known as: each_pair

Yields:

  • (key, value)

Yield Parameters:

  • key (String)
  • value (String)

Returns:

  • (nil)


85
86
87
88
89
90
91
92
93
94
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 85

def each(&block)
  if block_given?
    @data.each_pair do |key, value|
      yield(key, value)
    end
    nil
  else
    @data.enum_for(:each)
  end
end

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

Returns true if the header is set.

Returns:

  • (Boolean)

    Returns true if the header is set.



98
99
100
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 98

def key?(key)
  @data.key?(key.to_s.downcase)
end

#keysArray<String>

Returns:

  • (Array<String>)


67
68
69
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 67

def keys
  @data.keys
end

#to_hashHash Also known as: to_h

Returns:

  • (Hash)


105
106
107
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 105

def to_hash
  @data.dup
end

#update(headers) ⇒ Headers

Parameters:

  • headers (Hash)

Returns:



50
51
52
53
54
55
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 50

def update(headers)
  headers.each_pair do |k, v|
    self[k] = v
  end
  self
end

#valuesArray<String>

Returns:

  • (Array<String>)


72
73
74
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 72

def values
  @data.values
end

#values_at(*keys) ⇒ Array<String>

Returns:

  • (Array<String>)


77
78
79
# File 'gems/aws-sdk-core/lib/seahorse/client/http/headers.rb', line 77

def values_at(*keys)
  @data.values_at(*keys.map{ |key| key.to_s.downcase })
end