class Spectre::Http::SpectreHttpResponse

Public Class Methods

new(res) click to toggle source
# File lib/spectre/http.rb, line 114
def initialize res
  @res = res
  @data = nil
  @headers = SpectreHttpHeader.new @res[:headers]
end

Public Instance Methods

body() click to toggle source
# File lib/spectre/http.rb, line 132
def body
  @res[:body]
end
code() click to toggle source
# File lib/spectre/http.rb, line 120
def code
  @res[:code]
end
headers() click to toggle source
# File lib/spectre/http.rb, line 128
def headers
  @headers
end
json() click to toggle source
# File lib/spectre/http.rb, line 136
def json
  return nil if not @res[:body]

  if @data == nil
    begin
      @data = JSON.parse(@res[:body], object_class: OpenStruct)
    rescue
      raise "Body content is not a valid JSON:\n#{@res[:body]}"
    end
  end

  @data
end
message() click to toggle source
# File lib/spectre/http.rb, line 124
def message
  @res[:message]
end
pretty() click to toggle source
# File lib/spectre/http.rb, line 158
def pretty
  @res.pretty
end
success?() click to toggle source
# File lib/spectre/http.rb, line 150
def success?
  @res[:code] < 400
end
to_s() click to toggle source
# File lib/spectre/http.rb, line 154
def to_s
  @res.to_s
end