errors.rb
944 Bytes
# frozen_string_literal: true
module Syspro
class SysproError < StandardError
attr_reader :message, :response, :code, :http_body, :http_headers,
:http_status, :data, :request_id
# Initializes a SysproError.
def initialize(message = nil, http_status: nil, http_body: nil, data: nil,
http_headers: nil, code: nil)
@message = message
@http_status = http_status
@http_body = http_body
@http_headers = http_headers || {}
@data = data
@code = code
@request_id = @http_headers[:request_id]
end
def to_s
status_string = @http_status.nil? ? '' : "(Status #{@http_status}) "
id_string = @request_id.nil? ? '' : "(Request #{@request_id}) "
"#{status_string}#{id_string}#{@message}"
end
end
class AuthenticationError < SysproError
end
class ApiConnectionError < SysproError
end
class ApiError < SysproError
end
end