Class: Grac::Response

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/grac/response.rb

Instance Method Summary collapse

Constructor Details

#initialize(typhoeus_response) ⇒ Response

Returns a new instance of Response.



12
13
14
# File 'lib/grac/response.rb', line 12

def initialize(typhoeus_response)
  @response = typhoeus_response
end

Instance Method Details

#content_typeObject



16
17
18
# File 'lib/grac/response.rb', line 16

def content_type
  @response.headers["Content-Type"]
end

#json_content?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/grac/response.rb', line 20

def json_content?
  !content_type.nil? && content_type.match('application/json')
end

#parsed_jsonObject



24
25
26
27
28
# File 'lib/grac/response.rb', line 24

def parsed_json
  JSON.parse(body)
rescue JSON::ParserError
  raise Exception::InvalidContent.new(body, 'json')
end

#parsed_or_raw_bodyObject



30
31
32
33
34
35
36
37
38
# File 'lib/grac/response.rb', line 30

def parsed_or_raw_body
  return body unless json_content?

  begin
    parsed_json
  rescue Exception::InvalidContent
    body
  end
end