Sha256: 1d60641a774cb68498510bc0f0a5f4ac7b9b0f39e123fd0f4e754961ef611b18
Contents?: true
Size: 1.04 KB
Versions: 10
Compression:
Stored size: 1.04 KB
Contents
module Lol class InvalidAPIResponse < StandardError attr_reader :raw def initialize url, response @raw = extract_raw_response_info response super "#{raw[:status]} calling #{url}" end private def extract_raw_response_info response { headers: extract_raw_headers(response), body: extract_raw_body(response), status: extract_raw_status(response) } end def extract_raw_headers response response.respond_to?(:headers) && response.headers || {} end def extract_raw_body response if response.respond_to?(:parsed_response) response.parsed_response elsif response.respond_to?(:body) response.body else response end end def extract_raw_status response if response.is_a?(Hash) && response['status'] response['status']['message'] elsif response.respond_to?(:response) "#{response.response.code} #{response.response.message}" else "Unknown Error" end end end end
Version data entries
10 entries across 10 versions & 1 rubygems