class Akamai::Core::Client::Response

Attributes

http_response[R]

Public Class Methods

new(http_response) click to toggle source
# File lib/akamai/core/client/response.rb, line 6
def initialize(http_response)
  @http_response = http_response
end

Public Instance Methods

body() click to toggle source
# File lib/akamai/core/client/response.rb, line 10
def body
  @body ||= if http_response.body
    JSON.parse(http_response.body).tap do |parsed_body|
      result =
        if /^Array$/ =~ parsed_body.class.name
          [].tap do |arr|
            parsed_body.each do |data|
              arr << transform_data(data)
            end
          end
        else
          transform_data(parsed_body)
        end
        break result
    end
  end
end
code() click to toggle source
# File lib/akamai/core/client/response.rb, line 28
def code
  http_response.code.to_i
end
headers() click to toggle source
# File lib/akamai/core/client/response.rb, line 32
def headers
  @headers ||=
    {}.tap do |hash|
      http_response.header.each do |k, v|
        hash[k] = v
      end
    end
end

Private Instance Methods

body_object() click to toggle source
# File lib/akamai/core/client/response.rb, line 43
def body_object
  JSON.parse(http_response.body)
end
transform_data(data) click to toggle source
# File lib/akamai/core/client/response.rb, line 47
def transform_data(data)
  return data.with_indifferent_access if /Hash/ =~ data.class.name
  data
end