class Vra::Http::Response

Public Class Methods

new(response) click to toggle source

For hiding the details of the HTTP response class so it can be swapped out easily

# File lib/vra/http.rb, line 87
def initialize(response)
  @response = response
end

Public Instance Methods

body() click to toggle source
# File lib/vra/http.rb, line 107
def body
  @response.body
end
code() click to toggle source
# File lib/vra/http.rb, line 111
def code
  @response.code.to_i
end
final?() click to toggle source
# File lib/vra/http.rb, line 139
def final?
  !(redirect? || see_other?)
end
forward(request) click to toggle source
# File lib/vra/http.rb, line 91
def forward(request)
  if redirect?
    raise Http.error(self) unless request.redirectable?

    request.redirect_to(location)
  elsif see_other?
    request.see_other(location)
  else
    request
  end
end
location() click to toggle source
# File lib/vra/http.rb, line 103
def location
  @response["location"]
end
message() click to toggle source
# File lib/vra/http.rb, line 115
def message
  @response.message
end
redirect?() click to toggle source
# File lib/vra/http.rb, line 131
def redirect?
  [301, 302, 307].include?(code)
end
see_other?() click to toggle source
# File lib/vra/http.rb, line 135
def see_other?
  code == 303
end
success?() click to toggle source
# File lib/vra/http.rb, line 127
def success?
  (200..207).cover?(code)
end
success_no_content?() click to toggle source
# File lib/vra/http.rb, line 123
def success_no_content?
  code == 204
end
success_ok?() click to toggle source
# File lib/vra/http.rb, line 119
def success_ok?
  code == 200
end