class Typhoeus::Response

Add Data : OJ Parsing

Attributes

client[R]
path[R]

Public Instance Methods

data() click to toggle source
# File lib/labclient/http.rb, line 74
def data
  @data ||= process_body

  @data
end
find_friendly_error() click to toggle source

Print Error information

  1. Use Typheous `return_message` if there isn't any return body

For network/uri/dns related issues

  1. Use body for parsed responses

For Bad Request, invalid params

  1. Return raw data

For non body responses

# File lib/labclient/http.rb, line 109
def find_friendly_error
  case data
  when nil
    return_message
  when LabClient::LabStruct
    data[:message] || data[:error]
  else # Handle String as well
    data
  end
end
friendly_error() click to toggle source
# File lib/labclient/http.rb, line 120
def friendly_error
  "#{code} - #{find_friendly_error}"
end
inspect() click to toggle source
# File lib/labclient/http.rb, line 68
def inspect
  "#<TyphoeusResponse code: #{code}>"
end
process_body() click to toggle source
# File lib/labclient/http.rb, line 85
def process_body
  if body.empty?
    nil
  elsif headers['content-type']&.include? 'text/plain'
    body
  else
    result = Oj.load(body, mode: :compat, object_class: LabClient::LabStruct)
    result.instance_variable_set(:@response, self) if result.instance_of?(LabClient::LabStruct)
    result
  end
end
response() click to toggle source

Shim for CurlHelper

# File lib/labclient/http.rb, line 81
def response
  self
end
retry?() click to toggle source

Retry Helper Accessor

# File lib/labclient/http.rb, line 98
def retry?
  code == 429
end