class AkamaiRSpec::Response

Public Class Methods

new(response) click to toggle source
# File lib/akamai_rspec/response.rb, line 3
def initialize(response)
  @response = response
end

Public Instance Methods

code() click to toggle source
# File lib/akamai_rspec/response.rb, line 19
def code
  @response.code.to_i
end
cookies() click to toggle source
# File lib/akamai_rspec/response.rb, line 23
def cookies
  cookies = {}

  [headers[:set_cookie]].flatten.each do |cookie|
    name, value = cookie.split(/=/, 2)
    cookies[name] = value
  end
  cookies
end
headers() click to toggle source
# File lib/akamai_rspec/response.rb, line 7
def headers
  headers = Hash[@response.to_hash.map{ |k, v| [k.gsub(/-/,'_').downcase.to_sym, v] }]
  headers.default = ""
  headers.each do |k, v|
    if v.is_a?(Array) && v.size == 1
      headers[k] = v.first
    end
  end

  headers
end
method_missing(method, *args) click to toggle source
# File lib/akamai_rspec/response.rb, line 33
def method_missing(method, *args)
  @response.send(method, *args)
end
to_s() click to toggle source
# File lib/akamai_rspec/response.rb, line 37
def to_s
  case code
  when 0..99
    "Invalid status code #{code}"
  when 100..199
    "Informational: #{code}"
  when 200..299
    "Success: #{code}"
  when 300..399
    "Redirect #{code} to #{headers[:location]}"
  when 400..499
    "Client error #{code}"
  when 500..599
    "Server error #{code}"
  else
    "Unknown status code #{code}"
  end
end