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.



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

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.



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

def attachments
  @attachments
end

#bodyObject

Returns the HTTP response body.



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

def body
  decode_body unless @body
  @body
end

#codeObject

Returns the value of attribute code.



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

def code
  @code
end

#headersObject

Returns the value of attribute headers.



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

def headers
  @headers
end

#raw_bodyObject

Returns the value of attribute raw_body.



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

def raw_body
  @raw_body
end

Instance Method Details

#cookiesObject

Returns a list of cookies from the response.



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

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

#error?Boolean

Returns whether the HTTP response is considered successful.

Returns:

  • (Boolean)


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

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

#multipart?Boolean

Returns whether the HTTP response is a multipart response.

Returns:

  • (Boolean)


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

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