Class: HTTPI::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/httpi/response.rb

Overview

HTTPI::Response

Represents an HTTP response and contains various response details.

Constant Summary collapse

SuccessfulResponseCodes =

Range of HTTP response codes considered to be successful.

200..299

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(code, headers, body) ⇒ Response

Initializer expects an HTTP response code, headers and body.



18
19
20
21
22
# File 'lib/httpi/response.rb', line 18

def initialize(code, headers, body)
  self.code = code.to_i
  self.headers = Rack::Utils::HeaderHash.new(headers)
  self.raw_body = body
end

Instance Attribute Details

#attachmentsObject

Returns any DIME attachments.



42
43
44
# File 'lib/httpi/response.rb', line 42

def attachments
  @attachments
end

#bodyObject

Returns the HTTP response body.



48
49
50
51
# File 'lib/httpi/response.rb', line 48

def body
  decode_body unless @body
  @body
end

#codeObject

Returns the value of attribute code.



24
25
26
# File 'lib/httpi/response.rb', line 24

def code
  @code
end

#headersObject

Returns the value of attribute headers.



24
25
26
# File 'lib/httpi/response.rb', line 24

def headers
  @headers
end

#raw_bodyObject

Returns the value of attribute raw_body.



24
25
26
# File 'lib/httpi/response.rb', line 24

def raw_body
  @raw_body
end

Instance Method Details

#cookiesObject

Returns a list of cookies from the response.



37
38
39
# File 'lib/httpi/response.rb', line 37

def cookies
  @cookies ||= Cookie.list_from_headers(headers)
end

#error?Boolean

Returns whether the HTTP response is considered successful.

Returns:

  • (Boolean)


27
28
29
# File 'lib/httpi/response.rb', line 27

def error?
  !SuccessfulResponseCodes.include? code.to_i
end

#multipart?Boolean

Returns whether the HTTP response is a multipart response.

Returns:

  • (Boolean)


32
33
34
# File 'lib/httpi/response.rb', line 32

def multipart?
  !!(headers["Content-Type"] =~ /^multipart/i)
end