Exception: FocusNfe::Errors::HttpError
- Inherits:
-
FocusNfe::Error
- Object
- StandardError
- FocusNfe::Error
- FocusNfe::Errors::HttpError
- Defined in:
- lib/focus_nfe/errors.rb
Overview
Falha HTTP retornada pela API, carregando o status, o corpo parseado com as mensagens de erro da API e a HTTP::Response original.
Direct Known Subclasses
BadRequest, Conflict, Forbidden, NotFound, RateLimited, ServerError, Unauthorized, UnexpectedResponse, ValidationError
Instance Attribute Summary collapse
-
#body ⇒ Object?
readonly
Corpo parseado com as mensagens de erro da API.
-
#response ⇒ FocusNfe::HTTP::Response?
readonly
Resposta original que originou o erro.
-
#status ⇒ Integer?
readonly
Código de status HTTP da resposta.
Instance Method Summary collapse
-
#codigo ⇒ String?
Código de erro da API, quando o corpo é estruturado.
-
#erros ⇒ Array<Hash>
Erros no formato
{ "campo" => String?, "mensagem" => String }; vazio quando o corpo não traz erros estruturados. -
#initialize(message = nil, status: nil, body: nil, response: nil) ⇒ HttpError
constructor
A new instance of HttpError.
Constructor Details
#initialize(message = nil, status: nil, body: nil, response: nil) ⇒ HttpError
Returns a new instance of HttpError.
28 29 30 31 32 33 |
# File 'lib/focus_nfe/errors.rb', line 28 def initialize( = nil, status: nil, body: nil, response: nil) @status = status @body = body @response = response super() end |
Instance Attribute Details
#body ⇒ Object? (readonly)
Returns corpo parseado com as mensagens de erro da API.
19 20 21 |
# File 'lib/focus_nfe/errors.rb', line 19 def body @body end |
#response ⇒ FocusNfe::HTTP::Response? (readonly)
Returns resposta original que originou o erro.
22 23 24 |
# File 'lib/focus_nfe/errors.rb', line 22 def response @response end |
#status ⇒ Integer? (readonly)
Returns código de status HTTP da resposta.
16 17 18 |
# File 'lib/focus_nfe/errors.rb', line 16 def status @status end |
Instance Method Details
#codigo ⇒ String?
Returns código de erro da API, quando o corpo é estruturado.
36 37 38 |
# File 'lib/focus_nfe/errors.rb', line 36 def codigo body["codigo"] if body.is_a?(Hash) end |
#erros ⇒ Array<Hash>
Returns erros no formato { "campo" => String?, "mensagem" => String };
vazio quando o corpo não traz erros estruturados.
42 43 44 45 46 47 |
# File 'lib/focus_nfe/errors.rb', line 42 def erros return [] unless body.is_a?(Hash) return body["erros"] if body["erros"].is_a?(Array) body["mensagem"] ? [{ "campo" => nil, "mensagem" => body["mensagem"] }] : [] end |