Sha256: fc054d0bea3d2174e6217420a9ec62ab494a884aaf2dc2155293d14e13e65a17
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 KB
Contents
require 'typhoeus' # The response contains the raw response (typhoeus) # and provides functionality to access response data. class LHC::Response attr_accessor :request # A response is initalized with the underlying raw response (typhoeus in our case) # and the associated request. def initialize(raw, request) self.request = request self.raw = raw end # Access response data. # Cache parsing. def data @data ||= case format when :json JSON.parse(raw.body, object_class: OpenStruct) else # default is json JSON.parse(raw.body, object_class: OpenStruct) end @data end def effective_url raw.effective_url end def body raw.body end def code raw.code end def headers raw.headers end def options raw.options end # Provides response time in ms. def time (raw.time || 0) * 1000 end def timeout? raw.timed_out? end def success? raw.success? end private attr_accessor :raw def format headers = {} headers = request.options.fetch(:headers, {}) if request && request.options return :json if headers['Content-Type'] == 'application/json' end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lhc-3.4.0 | lib/lhc/response.rb |
lhc-3.3.0 | lib/lhc/response.rb |