Source code for pyswitcheo.errors

# !/usr/bin/env python
# -*- coding: utf-8 -*-
"""Custom exception raised by pyswitcheo"""

# Human readable http error codes
import json
from http import HTTPStatus

_ERR = {
    HTTPStatus.BAD_REQUEST: "Your request is badly formed.",
    HTTPStatus.UNAUTHORIZED: "You did not provide a valid signature.",
    HTTPStatus.NOT_FOUND: "The specified endpoint or resource could not be found.",
    HTTPStatus.NOT_ACCEPTABLE: "You requested a format that isn't json.",
    HTTPStatus.TOO_MANY_REQUESTS: "Slow down requests and use Exponential backoff timing.",
    HTTPStatus.UNPROCESSABLE_ENTITY: "Your request had validation errors.",
    HTTPStatus.INTERNAL_SERVER_ERROR: "We had a problem with our server. Try again later.",
    HTTPStatus.SERVICE_UNAVAILABLE: "We're temporarily offline for maintenance. Please try again later.",
}


[docs]class HTTPResponseError(Exception): """Wrapper around Exception to raise custom messages.""" def __init__(self, response): self.value = { "code": response.status_code, "server_msg": response.text, "err_msg": _ERR.get(response.status_code, "Unexpected error"), } def __str__(self): return json.dumps(self.value, indent=4, sort_keys=True)