Class: AWS::Core::Http::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/aws/core/http/response.rb

Overview

Represents the http response from a service request.

Responses have:

  • status (200, 404, 500, etc)
  • headers (hash of response headers)
  • body (the response body)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) {|_self| ... } ⇒ Response

Returns a new instance of Response.

Options Hash (options):

  • :status (Integer) — default: 200

    HTTP status code

  • :headers (Hash) — default: {}

    HTTP response headers

  • :body (String) — default: ''

    HTTP response body

Yields:

  • (_self)

Yield Parameters:



53
54
55
56
57
58
59
# File 'lib/aws/core/http/response.rb', line 53

def initialize options = {}, &block
  @status = options[:status] || 200
  @headers = options[:headers] || {}
  @body = options[:body]
  yield(self) if block_given?
  self
end

Instance Attribute Details

#bodyString?



34
35
36
# File 'lib/aws/core/http/response.rb', line 34

def body
  @body
end

#headersHash



31
32
33
# File 'lib/aws/core/http/response.rb', line 31

def headers
  @headers
end

#network_errorException?



37
38
39
# File 'lib/aws/core/http/response.rb', line 37

def network_error
  @network_error
end

#statusInteger



28
29
30
# File 'lib/aws/core/http/response.rb', line 28

def status
  @status
end

Instance Method Details

#header(name) ⇒ String?

Returns the header value with the given name.

The value is matched case-insensitively so if the headers hash contains a key like 'Date' and you request the value for 'date' the 'Date' value will be returned.



69
70
71
72
73
74
75
76
# File 'lib/aws/core/http/response.rb', line 69

def header name
  headers.each_pair do |header_name, header_value|
    if header_name.downcase == name.to_s.downcase
      return header_value.is_a?(Array) ? header_value.first : header_value
    end
  end
  nil
end

#network_error?Boolean



41
42
43
# File 'lib/aws/core/http/response.rb', line 41

def network_error?
  @network_error ? true : false
end