class Slimpay::Error
To display Slimpay
error messages with the HTTP code.
Possible HAPI errors¶ ↑
-
code: 906 message: “Error : Could not find acceptable representation”
-
code: 906 message: “Error : Request method 'POST' not supported”
-
code: 906 message: “Error : Content type 'application/x-www-form-urlencoded' not supported”
-
code: 904 message: “Access denied : cannot access creditor democreditor”
-
error:“invalid_token”, error_description: “Invalid access token: 1234-123456-abcdef-123456”
-
code: 205, message: “Client data are inconsistent : missing query parameters creditorReference and/or rum”
Attributes
message[R]
Public Class Methods
empty()
click to toggle source
If the HTTP response is nil or empty returns an actual message.
# File lib/slimpay/error.rb, line 14 def self.empty { code: 418, message: 'The answer was empty.' } end
new(http_response)
click to toggle source
Returns either formated error with its HTTP code or the raw HTTP response.
Arguments:¶ ↑
http_response: (HTTParty::Response)
# File lib/slimpay/error.rb, line 21 def initialize(http_response) if defined?(http_response.code) display_http_error(http_response) else @message = JSON.parse(http_response) end fail self, @message end
Public Instance Methods
to_s()
click to toggle source
# File lib/slimpay/error.rb, line 30 def to_s @message end
Private Instance Methods
bad_request(http_message)
click to toggle source
# File lib/slimpay/error.rb, line 53 def bad_request(http_message) { code: 400, message: "HTTP Bad Request. #{slimpay_error(http_message)}" } end
display_http_error(http_response)
click to toggle source
# File lib/slimpay/error.rb, line 36 def display_http_error(http_response) @message = case http_response.code when 400 bad_request(http_response) when 401 unauthorized(http_response) when 403 forbidden(http_response) when 404 not_found when 406 not_acceptable(http_response) else http_response end end
forbidden(http_message)
click to toggle source
# File lib/slimpay/error.rb, line 61 def forbidden(http_message) { code: 403, message: "HTTP Forbidden. #{slimpay_error(http_message)}" } end
not_acceptable(http_message)
click to toggle source
# File lib/slimpay/error.rb, line 69 def not_acceptable(http_message) { code: 406, message: "HTTP Not Acceptable. #{slimpay_error(http_message)}" } end
not_found()
click to toggle source
# File lib/slimpay/error.rb, line 65 def not_found { code: 404, message: 'URI not found.' } end
slimpay_error(http_message)
click to toggle source
# File lib/slimpay/error.rb, line 73 def slimpay_error(http_message) slimpay_error = http_message.is_a?(Hash) ? http_message : JSON.parse(http_message) slimpay_code = slimpay_error['code'] slimpay_message = slimpay_error['message'] || slimpay_error['error_description'] "Slimpay #{slimpay_code} : #{slimpay_message}" end