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


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

def initialize(typhoeus_response)
  @response = typhoeus_response
end

Instance Method Details

#content_typeObject


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

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

#json_content?Boolean

Returns:

  • (Boolean)

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

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

#parsed_jsonObject


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

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

#parsed_or_raw_bodyObject


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

def parsed_or_raw_body
  return body unless json_content?

  begin
    parsed_json
  rescue Exception::InvalidContent
    body
  end
end