Class: Motion::HTTP::Response

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(original_request, status_code, headers, body) ⇒ Response

Returns a new instance of Response.



6
7
8
9
10
11
# File 'lib/common/http/response.rb', line 6

def initialize(original_request, status_code, headers, body)
  @original_request = original_request
  @status_code = status_code
  @headers = headers
  @body = body
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



4
5
6
# File 'lib/common/http/response.rb', line 4

def body
  @body
end

#headersObject (readonly)

Returns the value of attribute headers.



4
5
6
# File 'lib/common/http/response.rb', line 4

def headers
  @headers
end

#original_requestObject (readonly)

Returns the value of attribute original_request.



4
5
6
# File 'lib/common/http/response.rb', line 4

def original_request
  @original_request
end

#status_codeObject (readonly)

Returns the value of attribute status_code.



4
5
6
# File 'lib/common/http/response.rb', line 4

def status_code
  @status_code
end

Instance Method Details

#inspectObject



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

def inspect
  "<Motion::HTTP::Response status_code:#{status_code} headers:#{headers.inspect} body:#{body.inspect}>"
end

#objectObject



18
19
20
21
22
23
24
25
# File 'lib/common/http/response.rb', line 18

def object
  @object ||= case headers['Content-Type']
    when /^application\/json/, /^application\/vnd.api\+json/
      JSON.parse(body)
    else
      body
    end
end

#success?Boolean

Returns:

  • (Boolean)


13
14
15
16
# File 'lib/common/http/response.rb', line 13

def success?
  return false unless status_code
  status_code >= 200 && status_code < 300
end