Source code for hvac.exceptions

[docs]class VaultError(Exception):
[docs] def __init__( self, message=None, errors=None, method=None, url=None, text=None, json=None ): if errors: message = ", ".join(errors) self.errors = errors self.method = method self.url = url self.text = text self.json = json super().__init__(message)
def __str__(self): return f"{self.args[0]}, on {self.method} {self.url}"
[docs] @classmethod def from_status(cls, status_code: int, *args, **kwargs): _STATUS_EXCEPTION_MAP = { 400: InvalidRequest, 401: Unauthorized, 403: Forbidden, 404: InvalidPath, 429: RateLimitExceeded, 500: InternalServerError, 501: VaultNotInitialized, 502: BadGateway, 503: VaultDown, } return _STATUS_EXCEPTION_MAP.get(status_code, UnexpectedError)(*args, **kwargs)
[docs]class InvalidRequest(VaultError): pass
[docs]class Unauthorized(VaultError): pass
[docs]class Forbidden(VaultError): pass
[docs]class InvalidPath(VaultError): pass
[docs]class RateLimitExceeded(VaultError): pass
[docs]class InternalServerError(VaultError): pass
[docs]class VaultNotInitialized(VaultError): pass
[docs]class VaultDown(VaultError): pass
[docs]class UnexpectedError(VaultError): pass
[docs]class BadGateway(VaultError): pass
[docs]class ParamValidationError(VaultError): pass