redditwarp.http.exceptions#

exception redditwarp.http.exceptions.ArgExc(arg: object = None)[source]#

Bases: ArgExcMixin

exception redditwarp.http.exceptions.TransportError(arg: object = None)[source]#

Bases: ArgExc

A catch-all exception for HTTP transport library errors.

exception redditwarp.http.exceptions.TimeoutException(arg: object = None)[source]#

Bases: ArgExc

A timeout exception class to wrap timeout errors from HTTP transport libraries.

exception redditwarp.http.exceptions.StatusCodeException(arg: object = None, *, status_code: int)[source]#

Bases: ArgExc

An exception class representing HTTP status codes as errors.

STATUS_CODE: ClassVar[int] = 0#
status_code: int#
get_default_message() str[source]#

Get a default message for this exception type.

class redditwarp.http.exceptions.StatusCodeExceptionTypes[source]#

Bases: object

exception InformationalStatusCodeException(arg: object = None, *, status_code: int)[source]#

Bases: StatusCodeException

STATUS_CODE: ClassVar[int] = -100#
exception SuccessfulStatusCodeException(arg: object = None, *, status_code: int)[source]#

Bases: StatusCodeException

STATUS_CODE: ClassVar[int] = -200#
exception RedirectionStatusCodeException(arg: object = None, *, status_code: int)[source]#

Bases: StatusCodeException

STATUS_CODE: ClassVar[int] = -300#
exception ClientErrorStatusCodeException(arg: object = None, *, status_code: int)[source]#

Bases: StatusCodeException

STATUS_CODE: ClassVar[int] = -400#
exception ServerErrorStatusCodeException(arg: object = None, *, status_code: int)[source]#

Bases: StatusCodeException

STATUS_CODE: ClassVar[int] = -500#
exception BadRequest(arg: object = None, *, status_code: int)[source]#

Bases: ClientErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 400#
exception Unauthorized(arg: object = None, *, status_code: int)[source]#

Bases: ClientErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 401#
exception Forbidden(arg: object = None, *, status_code: int)[source]#

Bases: ClientErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 403#
exception NotFound(arg: object = None, *, status_code: int)[source]#

Bases: ClientErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 404#
exception Conflict(arg: object = None, *, status_code: int)[source]#

Bases: ClientErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 409#
exception PayloadTooLarge(arg: object = None, *, status_code: int)[source]#

Bases: ClientErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 413#
exception URITooLong(arg: object = None, *, status_code: int)[source]#

Bases: ClientErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 414#
exception TooManyRequests(arg: object = None, *, status_code: int)[source]#

Bases: ClientErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 429#
exception InternalServerError(arg: object = None, *, status_code: int)[source]#

Bases: ServerErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 500#
exception BadGateway(arg: object = None, *, status_code: int)[source]#

Bases: ServerErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 502#
exception ServiceUnavailable(arg: object = None, *, status_code: int)[source]#

Bases: ServerErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 503#
exception GatewayTimeout(arg: object = None, *, status_code: int)[source]#

Bases: ServerErrorStatusCodeException

STATUS_CODE: ClassVar[int] = 504#
redditwarp.http.exceptions.get_status_code_exception_class_by_status_code(n: int) type[redditwarp.http.exceptions.StatusCodeException][source]#
redditwarp.http.exceptions.is_successful_status(n: int) bool[source]#

Return true if 200 <= n < 300.

redditwarp.http.exceptions.raise_now(n: int) None[source]#

Raises a StatusCodeException exception type based on the given HTTP status number.

redditwarp.http.exceptions.ensure_successful_status(n: int) None[source]#

Raises a StatusCodeException exception if is_successful_status(n) returns false.