Exception: BugBunny::Error
- Inherits:
-
StandardError
- Object
- StandardError
- BugBunny::Error
- Defined in:
- lib/bug_bunny/exception.rb
Overview
Clase base para todas las excepciones lanzadas por la gema BugBunny.
Permite capturar cualquier error de la librería con un rescue BugBunny::Error.
Para los errores derivados de una respuesta RPC (los que levanta
Middleware::RaiseError), expone de forma uniforme la materia
prima del error: el status y el raw_response (cuerpo crudo). La gema es
agnóstica al payload: no interpreta la estructura del cuerpo de error: es
el boundary de cada servicio quien lee raw_response y decide la semántica
de dominio (códigos, detalles de validación, etc.).
Direct Known Subclasses
ClientError, CommunicationError, ConfigurationError, PublishNacked, PublishUnroutable, ServerError
Instance Attribute Summary collapse
-
#raw_response ⇒ Hash, ...
El cuerpo crudo de la respuesta de error, tal como llegó por el wire.
-
#status ⇒ Integer?
El código de estado de la respuesta que originó el error (ej: 400, 404, 409, 422, 500).
Instance Attribute Details
#raw_response ⇒ Hash, ...
No loguear ni enviar a sinks (Sentry/logs) sin sanitizar. El
cuerpo crudo puede contener datos sensibles (p. ej. en details). La
lista canónica de claves sensibles es
Observability::SENSITIVE_KEYS — no la repliques acá ni en el
consumidor: se desincroniza (ojo que pass bare NO está en la lista, a
propósito, para no filtrar passport_number). Para sanear, reusá
Observability.sensitive_key? (filtra por NOMBRE de clave) y
Observability.redact_structure (recorre la estructura y
además redacta credenciales embebidas en el VALOR). La gema entrega el
cuerpo crudo a propósito; sanitizarlo es responsabilidad del consumidor.
Returns El cuerpo crudo de la respuesta de error, tal
como llegó por el wire. nil para errores que no provienen de una
respuesta RPC (ej: CommunicationError, ConfigurationError).
35 36 37 |
# File 'lib/bug_bunny/exception.rb', line 35 def raw_response @raw_response end |
#status ⇒ Integer?
Returns El código de estado de la respuesta que originó el
error (ej: 400, 404, 409, 422, 500). nil para errores que no provienen
de una respuesta RPC.
40 41 42 |
# File 'lib/bug_bunny/exception.rb', line 40 def status @status end |