class Attio::Error
Base error class for all Attio-specific errors
def extract_request_id(response)
def extract_request_id(response) return nil unless response[:headers] response[:headers]["x-request-id"] || response[:headers]["X-Request-Id"] end
def initialize(message, response = nil)
def initialize(message, response = nil) @response = response if response @code = response[:status] @request_id = extract_request_id(response) # Try to extract a better error message from the response if response[:body].is_a?(Hash) api_message = response[:body][:error] || response[:body][:message] message = "#{message}: #{api_message}" if api_message end end super(message) end