Exception: Airwallex::HTTPError

Inherits:
Error
  • Object
show all
Defined in:
lib/airwallex/errors.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message = nil, **attrs) ⇒ HTTPError

Returns a new instance of HTTPError.



19
20
21
22
23
24
25
26
# File 'lib/airwallex/errors.rb', line 19

def initialize(message = nil, **attrs)
  super(message)
  @status = attrs[:status]
  @code = attrs[:code]
  @source = attrs[:source]
  @details = attrs[:details]
  @response_body = attrs[:response_body]
end

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



17
18
19
# File 'lib/airwallex/errors.rb', line 17

def code
  @code
end

#detailsObject (readonly)

Returns the value of attribute details.



17
18
19
# File 'lib/airwallex/errors.rb', line 17

def details
  @details
end

#response_bodyObject (readonly)

Returns the value of attribute response_body.



17
18
19
# File 'lib/airwallex/errors.rb', line 17

def response_body
  @response_body
end

#sourceObject (readonly)

Returns the value of attribute source.



17
18
19
# File 'lib/airwallex/errors.rb', line 17

def source
  @source
end

#statusObject (readonly)

Returns the value of attribute status.



17
18
19
# File 'lib/airwallex/errors.rb', line 17

def status
  @status
end

Class Method Details

.raise_for_response!(status, parsed_body, raw_body) ⇒ Object

Raises:



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/airwallex/errors.rb', line 28

def self.raise_for_response!(status, parsed_body, raw_body)
  fields = parsed_body.is_a?(Hash) ? parsed_body : {}
  raise error_class_for(status).new(
    extract_message(parsed_body, status),
    status: status,
    code: fields["code"],
    source: fields["source"],
    details: fields["details"],
    response_body: raw_body
  )
end