staty - Python HTTP Status Library¶
Staty is a Python Library with complete information and error handling for HTTP response status codes.
Status Map¶
You can register a custom HTTP status code in staty’s global
status map using the @status.register()
decorator:
>>> from staty import status, base
>>> @status.register
... class MyCustomClientError(base.ClientError):
... code = 494
... message = "My Client Error"
You can reference to registered status as an attribute of status
using status.HTTP_{CODE}_{CLASS_NAME_IN_CONSTANT_NAME_CASE}
:
>>> from staty import status
>>> status.HTTP_494_MY_CUSTOM_CLIENT_ERROR == 494
True
You can reference an status code using it code as index:
>>> status[494] == status.HTTP_494_MY_CUSTOM_CLIENT_ERROR
True
HTTP Status Codes¶
Module: staty.codes
Informational¶
-
class
staty.codes.
Continue
[source]¶ Bases:
staty.base.Informational
,staty.base.HTTP11Mixin
-
code
= 100¶
-
message
= 'Continue'¶
-
rfcs
= (('7231', '6.2.1'),)¶
-
-
class
staty.codes.
SwitchingProtocols
[source]¶ Bases:
staty.base.Informational
,staty.base.HTTP11Mixin
-
code
= 101¶
-
message
= 'Switching Protocols'¶
-
rfcs
= (('7231', '6.2.2'),)¶
-
Successful¶
-
class
staty.codes.
Ok
[source]¶ Bases:
staty.base.Successful
,staty.base.HTTP10Mixin
-
code
= 200¶
-
message
= 'OK'¶
-
rfcs
= (('7231', '6.3.1'),)¶
-
-
class
staty.codes.
Created
[source]¶ Bases:
staty.base.Successful
,staty.base.HTTP10Mixin
-
code
= 201¶
-
message
= 'Created'¶
-
rfcs
= (('7231', '6.3.2'),)¶
-
-
class
staty.codes.
Accepted
[source]¶ Bases:
staty.base.Successful
,staty.base.HTTP10Mixin
-
code
= 202¶
-
message
= 'Accepted'¶
-
rfcs
= (('7231', '6.3.3'),)¶
-
-
class
staty.codes.
NonAuthoritativeInformation
[source]¶ Bases:
staty.base.Successful
,staty.base.HTTP11Mixin
-
code
= 203¶
-
message
= 'Non-Authoritative Information'¶
-
rfcs
= (('7231', '6.3.4'),)¶
-
-
class
staty.codes.
NoContent
[source]¶ Bases:
staty.base.Successful
,staty.base.HTTP10Mixin
-
code
= 204¶
-
message
= 'No Content'¶
-
rfcs
= (('7231', '6.3.5'),)¶
-
-
class
staty.codes.
ResetContent
[source]¶ Bases:
staty.base.Successful
,staty.base.HTTP11Mixin
-
code
= 205¶
-
message
= 'Reset Content'¶
-
rfcs
= (('7231', '6.3.6'),)¶
-
-
class
staty.codes.
PartialContent
[source]¶ Bases:
staty.base.Successful
,staty.base.HTTP11Mixin
-
code
= 206¶
-
message
= 'Partial Content'¶
-
rfcs
= (('7233', '4.1'),)¶
-
-
class
staty.codes.
MultiStatus
[source]¶ Bases:
staty.base.Successful
,staty.base.WebDAVMixin
-
code
= 207¶
-
message
= 'Multi-Status'¶
-
rfcs
= (('4918', ''),)¶
-
-
class
staty.codes.
AlreadyReported
[source]¶ Bases:
staty.base.Successful
,staty.base.WebDAVMixin
-
code
= 208¶
-
message
= 'Already Reported'¶
-
rfcs
= (('5842', ''),)¶
-
-
class
staty.codes.
IMUsed
[source]¶ Bases:
staty.base.Successful
,staty.base.HTTP11Mixin
-
code
= 226¶
-
message
= 'IM Used'¶
-
rfcs
= (('3229', ''),)¶
-
-
class
staty.codes.
MultipleChoices
[source]¶ Bases:
staty.base.Redirection
,staty.base.HTTP10Mixin
-
code
= 300¶
-
message
= 'Multiple Choices'¶
-
rfcs
= (('7231', '6.4.1'),)¶
-
-
class
staty.codes.
MovedPermanently
[source]¶ Bases:
staty.base.Redirection
,staty.base.HTTP10Mixin
-
code
= 301¶
-
message
= 'Moved Permanently'¶
-
rfcs
= (('7231', '6.4.2'),)¶
-
-
class
staty.codes.
Found
[source]¶ Bases:
staty.base.Redirection
,staty.base.HTTP11Mixin
-
code
= 302¶
-
message
= 'Found'¶
-
rfcs
= (('7231', '6.4.3'),)¶
-
-
class
staty.codes.
SeeOther
[source]¶ Bases:
staty.base.Redirection
,staty.base.HTTP11Mixin
-
code
= 303¶
-
message
= 'See Other'¶
-
rfcs
= (('7231', '6.4.4'),)¶
-
-
class
staty.codes.
NotModified
[source]¶ Bases:
staty.base.Redirection
,staty.base.HTTP11Mixin
-
code
= 304¶
-
message
= 'Not Modified'¶
-
rfcs
= (('7232', '4.1'),)¶
-
-
class
staty.codes.
UseProxy
[source]¶ Bases:
staty.base.Redirection
,staty.base.HTTP11Mixin
-
code
= 305¶
-
message
= 'Use Proxy'¶
-
rfcs
= (('7231', '6.4.5'),)¶
-
-
class
staty.codes.
SwitchProxy
[source]¶ Bases:
staty.base.Redirection
,staty.base.HTTP11Mixin
-
code
= 306¶
-
message
= 'Switch Proxy'¶
-
rfcs
= (('7231', '6.4.6'), ('draft', '1.2'))¶
-
Client Error¶
-
class
staty.codes.
BadRequest
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP10Mixin
-
code
= 400¶
-
exception
¶ alias of
staty.exceptions.BadRequestException
-
message
= 'Bad Request'¶
-
rfcs
= (('7231', '6.5.1'),)¶
-
Bases:
staty.base.ClientError
,staty.base.HTTP10Mixin
-
class
staty.codes.
PaymentRequired
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP10Mixin
-
code
= 402¶
-
exception
¶
-
message
= 'Payment Required'¶
-
rfcs
= (('7231', '6.5.2'),)¶
-
-
class
staty.codes.
Forbidden
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP10Mixin
-
code
= 403¶
-
exception
¶ alias of
staty.exceptions.ForbiddenException
-
message
= 'Forbidden'¶
-
rfcs
= (('7231', '6.5.3'),)¶
-
-
class
staty.codes.
NotFound
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP10Mixin
-
code
= 404¶
-
exception
¶ alias of
staty.exceptions.NotFoundException
-
message
= 'Not Found'¶
-
rfcs
= (('7231', '6.5.4'),)¶
-
-
class
staty.codes.
MethodNotAllowed
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 405¶
-
exception
¶
-
message
= 'Method Not Allowed'¶
-
rfcs
= (('7231', '6.5.5'),)¶
-
-
class
staty.codes.
NotAcceptable
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 406¶
-
exception
¶
-
message
= 'Not Acceptable'¶
-
rfcs
= (('7231', '6.5.6'),)¶
-
-
class
staty.codes.
ProxyAuthenticationRequired
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 407¶
-
exception
¶ alias of
staty.exceptions.ProxyAuthenticationRequiredException
-
message
= 'Proxy Authentication Required'¶
-
rfcs
= (('7235', '3.2'),)¶
-
-
class
staty.codes.
RequestTimeout
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 408¶
-
exception
¶
-
message
= 'Request Timeout'¶
-
rfcs
= (('7231', '6.5.7'),)¶
-
-
class
staty.codes.
Conflict
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 409¶
-
exception
¶ alias of
staty.exceptions.ConflictException
-
message
= 'Conflict'¶
-
rfcs
= (('7231', '6.5.8'),)¶
-
-
class
staty.codes.
Gone
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 410¶
-
exception
¶ alias of
staty.exceptions.GoneException
-
message
= 'Gone'¶
-
rfcs
= (('7231', '6.5.9'),)¶
-
-
class
staty.codes.
LengthRequired
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 411¶
-
exception
¶
-
message
= 'Length Required'¶
-
rfcs
= (('7231', '6.5.10'),)¶
-
-
class
staty.codes.
PreconditionFailed
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 412¶
-
exception
¶
-
message
= 'Precondition Failed'¶
-
rfcs
= (('7232', '4.2'), ('8144', '3.2'))¶
-
-
class
staty.codes.
PayloadTooLarge
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 413¶
-
exception
¶
-
message
= 'Payload Too Large'¶
-
rfcs
= (('7231', '6.5.11'),)¶
-
-
class
staty.codes.
URITooLong
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 414¶
-
exception
¶ alias of
staty.exceptions.URITooLongException
-
message
= 'URI Too Long'¶
-
rfcs
= (('7231', '6.5.12'),)¶
-
-
class
staty.codes.
UnsupportedMediaType
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 415¶
-
exception
¶
-
message
= 'Unsupported Media Type'¶
-
rfcs
= (('7231', '6.5.13'), ('7694', '3'))¶
-
-
class
staty.codes.
RangeNotSatisfiable
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 416¶
-
exception
¶
-
message
= 'Range Not Satisfiable'¶
-
rfcs
= (('7233', '4.4'),)¶
-
-
class
staty.codes.
ExpectationFailed
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 417¶
-
exception
¶
-
message
= 'Expectation Failed'¶
-
rfcs
= (('7231', '6.5.14'),)¶
-
-
class
staty.codes.
IAmATeapot
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTCPCP10Mixin
-
code
= 418¶
-
exception
¶ alias of
staty.exceptions.IAmATeapotException
-
message
= 'I am a teapot'¶
-
-
class
staty.codes.
MethodFailure
[source]¶ Bases:
staty.base.ClientError
,staty.base.UnofficialMixin
-
code
= 420¶
-
exception
¶
-
message
= 'Method Failure'¶
-
reference
= 'Spring Framework'¶
-
-
class
staty.codes.
MisdirectedRequest
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP20Mixin
-
code
= 421¶
-
exception
¶
-
message
= 'Misdirected Request'¶
-
rfcs
= (('7540', '9.1.2'),)¶
-
-
class
staty.codes.
UnprocessableEntity
[source]¶ Bases:
staty.base.ClientError
,staty.base.WebDAVMixin
-
code
= 422¶
-
exception
¶
-
message
= 'Unprocessable Entity'¶
-
rfcs
= (('4918', ''),)¶
-
-
class
staty.codes.
Locked
[source]¶ Bases:
staty.base.ClientError
,staty.base.WebDAVMixin
-
code
= 423¶
-
exception
¶ alias of
staty.exceptions.LockedException
-
message
= 'Locked'¶
-
rfcs
= (('4918', ''),)¶
-
-
class
staty.codes.
FailedDependency
[source]¶ Bases:
staty.base.ClientError
,staty.base.WebDAVMixin
-
code
= 424¶
-
exception
¶
-
message
= 'Failed Dependency'¶
-
rfcs
= (('4918', ''),)¶
-
-
class
staty.codes.
UpgradeRequired
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 426¶
-
exception
¶
-
message
= 'Upgrade Required'¶
-
rfcs
= (('7231', '6.5.15'),)¶
-
-
class
staty.codes.
PreconditionRequired
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 428¶
-
exception
¶
-
message
= 'Precondition Required'¶
-
rfcs
= (('6585', ''),)¶
-
-
class
staty.codes.
TooManyRequests
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 429¶
-
exception
¶
-
message
= 'Too Many Requests'¶
-
rfcs
= (('6585', ''),)¶
-
-
class
staty.codes.
RequestHeaderFieldsTooLarge
[source]¶ Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
code
= 431¶
-
exception
¶ alias of
staty.exceptions.RequestHeaderFieldsTooLargeException
-
message
= 'Request Header Fields Too Large'¶
-
rfcs
= (('6585', ''),)¶
-
-
class
staty.codes.
LoginTimeout
[source]¶ Bases:
staty.base.ClientError
,staty.base.IISMixin
-
code
= 440¶
-
exception
¶
-
message
= 'Login Timeout'¶
-
-
class
staty.codes.
NoResponse
[source]¶ Bases:
staty.base.ClientError
,staty.base.NginxMixin
-
code
= 444¶
-
exception
¶ alias of
staty.exceptions.NoResponseException
-
message
= 'No Response'¶
-
-
class
staty.codes.
RetryWith
[source]¶ Bases:
staty.base.ClientError
,staty.base.IISMixin
-
code
= 449¶
-
exception
¶ alias of
staty.exceptions.RetryWithException
-
message
= 'Retry With'¶
-
-
class
staty.codes.
BlockedByWindowsParentalControls
[source]¶ Bases:
staty.base.ClientError
,staty.base.UnofficialMixin
-
code
= 450¶
-
exception
¶ alias of
staty.exceptions.BlockedByWindowsParentalControlsException
-
message
= 'Blocked By Windows Parental Controls'¶
-
reference
= 'Microsoft'¶
-
Bases:
staty.base.ClientError
,staty.base.HTTP11Mixin
-
class
staty.codes.
Redirect
[source]¶ Bases:
staty.base.ClientError
,staty.base.IISMixin
-
code
= 451¶
-
exception
¶ alias of
staty.exceptions.BadGatewayException
-
message
= 'Redirect'¶
-
-
class
staty.codes.
SSLCertificateError
[source]¶ Bases:
staty.base.ClientError
,staty.base.NginxMixin
-
code
= 495¶
-
exception
¶
-
message
= 'SSL Certificate Error'¶
-
-
class
staty.codes.
SSLCertificateRequired
[source]¶ Bases:
staty.base.ClientError
,staty.base.NginxMixin
-
code
= 496¶
-
exception
¶
-
message
= 'SSL Certificate Required'¶
-
-
class
staty.codes.
HTTPRequestSentToHTTPSPort
[source]¶ Bases:
staty.base.ClientError
,staty.base.NginxMixin
-
code
= 497¶
-
exception
¶ alias of
staty.exceptions.HTTPRequestSentToHTTPSPortException
-
message
= 'HTTP Request Sent To HTTPS Port'¶
-
-
class
staty.codes.
InvalidToken
[source]¶ Bases:
staty.base.ClientError
,staty.base.UnofficialMixin
-
code
= 498¶
-
exception
¶
-
message
= 'Invalid Token'¶
-
reference
= 'ArcGIS for Server'¶
-
-
class
staty.codes.
ClientClosedRequest
[source]¶ Bases:
staty.base.ClientError
,staty.base.NginxMixin
-
code
= 499¶
-
exception
¶
-
message
= 'Client Closed Request'¶
-
-
class
staty.codes.
RequestHasBeenForbiddenByAntivirus
[source]¶ Bases:
staty.base.ClientError
,staty.base.UnofficialMixin
-
code
= 499¶
-
exception
¶ alias of
staty.exceptions.RequestHasBeenForbiddenByAntivirusException
-
message
= 'Request Has Been Forbidden By Antivirus'¶
-
reference
= 'https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#Unofficial_codes'¶
-
Server Error¶
-
class
staty.codes.
InternalServerError
[source]¶ Bases:
staty.base.ServerError
,staty.base.HTTP10Mixin
-
code
= 500¶
-
exception
¶
-
message
= 'Internal Server Error'¶
-
rfcs
= (('7231', '6.6.1'),)¶
-
-
class
staty.codes.
NotImplemented
[source]¶ Bases:
staty.base.ServerError
,staty.base.HTTP10Mixin
-
code
= 501¶
-
exception
¶
-
message
= 'Not Implemented'¶
-
rfcs
= (('7231', '6.6.2'),)¶
-
-
class
staty.codes.
BadGateway
[source]¶ Bases:
staty.base.ServerError
,staty.base.HTTP10Mixin
-
code
= 502¶
-
exception
¶ alias of
staty.exceptions.BadGatewayException
-
message
= 'Bad Gateway'¶
-
rfcs
= (('7231', '6.6.3'),)¶
-
Bases:
staty.base.ServerError
,staty.base.HTTP10Mixin
-
class
staty.codes.
GatewayTimeout
[source]¶ Bases:
staty.base.ServerError
,staty.base.HTTP11Mixin
-
code
= 504¶
-
exception
¶
-
message
= 'Gateway Timeout'¶
-
rfcs
= (('7231', '6.6.5'),)¶
-
-
class
staty.codes.
HTTPVersionNotSupported
[source]¶ Bases:
staty.base.ServerError
,staty.base.HTTP11Mixin
-
code
= 505¶
-
exception
¶
-
message
= 'HTTP Version Not Supported'¶
-
rfcs
= (('7231', '6.6.6'),)¶
-
-
class
staty.codes.
VariantAlsoNegotiates
[source]¶ Bases:
staty.base.ServerError
,staty.base.HTTP11Mixin
-
code
= 506¶
-
exception
¶
-
message
= 'Variant Also Negotiates'¶
-
rfcs
= (('2295', ''),)¶
-
-
class
staty.codes.
InsufficientStorage
[source]¶ Bases:
staty.base.ServerError
,staty.base.WebDAVMixin
-
code
= 507¶
-
exception
¶
-
message
= 'Insufficient Storage'¶
-
rfcs
= (('4918', ''),)¶
-
-
class
staty.codes.
LoopDetected
[source]¶ Bases:
staty.base.ServerError
,staty.base.WebDAVMixin
-
code
= 508¶
-
exception
¶
-
message
= 'Loop Detected'¶
-
rfcs
= (('5842', ''),)¶
-
-
class
staty.codes.
BandwidthLimitExceeded
[source]¶ Bases:
staty.base.ServerError
,staty.base.UnofficialMixin
-
code
= 509¶
-
exception
¶
-
message
= 'Bandwidth Limit Exceeded'¶
-
reference
= 'Apache Web Server/cPanel'¶
-
-
class
staty.codes.
NotExtended
[source]¶ Bases:
staty.base.ServerError
,staty.base.HTTP11Mixin
-
code
= 510¶
-
exception
¶
-
message
= 'Not Extended'¶
-
rfcs
= (('2774', ''),)¶
-
-
class
staty.codes.
NetworkAuthenticationRequired
[source]¶ Bases:
staty.base.ServerError
,staty.base.HTTP11Mixin
-
code
= 511¶
-
exception
¶ alias of
staty.exceptions.NetworkAuthenticationRequiredException
-
message
= 'Network Authentication Required'¶
-
rfcs
= (('6585', ''),)¶
-
-
class
staty.codes.
UnknownError
[source]¶ Bases:
staty.base.ServerError
,staty.base.CloudflareMixin
-
code
= 520¶
-
exception
¶
-
message
= 'Unknown Error'¶
-
-
class
staty.codes.
WebServerIsDown
[source]¶ Bases:
staty.base.ServerError
,staty.base.CloudflareMixin
-
code
= 521¶
-
exception
¶
-
message
= 'Web Server Is Down'¶
-
-
class
staty.codes.
ConnectionTimedOut
[source]¶ Bases:
staty.base.ServerError
,staty.base.CloudflareMixin
-
code
= 522¶
-
exception
¶
-
message
= 'Connection Timed Out'¶
-
-
class
staty.codes.
OriginIsUnreachable
[source]¶ Bases:
staty.base.ServerError
,staty.base.CloudflareMixin
-
code
= 523¶
-
exception
¶
-
message
= 'Origin Is Unreachable'¶
-
-
class
staty.codes.
ATimeoutOccurred
[source]¶ Bases:
staty.base.ServerError
,staty.base.CloudflareMixin
-
code
= 524¶
-
exception
¶
-
message
= 'A Timeout Occurred'¶
-
-
class
staty.codes.
SSLHandshakeFailed
[source]¶ Bases:
staty.base.ServerError
,staty.base.CloudflareMixin
-
code
= 525¶
-
exception
¶
-
message
= 'SSL Handshake Failed'¶
-
Exceptions¶
Module: staty.exceptions
Staty Base Exception¶
-
class
staty.exceptions.
HTTPError
(*args, response=None, request=None)[source]¶ Bases:
staty.exceptions.StatyBaseException
-
property
status
¶
-
property
Mixins¶
Connection Exceptions¶
-
class
staty.exceptions.
ConnectionException
[source]
-
class
staty.exceptions.
ConnectionTimeoutException
[source]¶ Bases:
socket.timeout
,staty.exceptions.ConnectionException
,staty.exceptions.RecoverableErrorMixin
-
class
staty.exceptions.
NameResolutionException
[source]¶ Bases:
socket.gaierror
,staty.exceptions.ConnectionException
,staty.exceptions.RecoverableErrorMixin
-
class
staty.exceptions.
HostAddressException
[source]¶ Bases:
socket.herror
,staty.exceptions.ConnectionException
,staty.exceptions.RecoverableErrorMixin
-
class
staty.exceptions.
SSLException
[source]¶ Bases:
staty.exceptions.ConnectionException
,staty.exceptions.RecoverableErrorMixin
-
class
staty.exceptions.
ProxyException
[source]¶ Bases:
staty.exceptions.ConnectionException
,staty.exceptions.RecoverableErrorMixin
Client Error Exceptions¶
-
class
staty.exceptions.
ClientErrorException
(*args, response=None, request=None)[source]¶ Bases:
staty.exceptions.HTTPError
-
class
staty.exceptions.
RecoverableClientErrorException
(*args, response=None, request=None)[source]¶ Bases:
staty.exceptions.ClientErrorException
,staty.exceptions.RecoverableErrorMixin
-
class
staty.exceptions.
UnrecoverableClientErrorException
(*args, response=None, request=None)[source]¶ Bases:
staty.exceptions.ClientErrorException
,staty.exceptions.UnrecoverableErrorMixin
-
class
staty.exceptions.
ProxyAuthenticationRequiredException
(*args, response=None, request=None)[source]¶
-
class
staty.exceptions.
RequestHeaderFieldsTooLargeException
(*args, response=None, request=None)[source]¶
-
class
staty.exceptions.
BlockedByWindowsParentalControlsException
(*args, response=None, request=None)[source]¶
-
class
staty.exceptions.
RequestHasBeenForbiddenByAntivirusException
(*args, response=None, request=None)[source]¶
-
class
staty.exceptions.
HTTPRequestSentToHTTPSPortException
(*args, response=None, request=None)[source]¶
Server Error Exceptions¶
-
class
staty.exceptions.
ServerErrorException
(*args, response=None, request=None)[source]¶ Bases:
staty.exceptions.HTTPError
,staty.exceptions.RecoverableErrorMixin
-
class
staty.exceptions.
HTTPVersionNotSupportedException
(*args, response=None, request=None)[source]¶
-
class
staty.exceptions.
NetworkAuthenticationRequiredException
(*args, response=None, request=None)[source]¶
Changes¶
1.2.4¶
Use .format() instead of f-string
Official support only for CPython 3.7 and 3.8
Update requirements
1.2.3¶
Update requirements to fix security issues
1.2.2¶
Fix an circular import issue
1.2.1¶
Fix an small issue with base HTTPError exception due to lack of status attribute
1.2.0¶
Add status object in exception objects
1.1.1¶
Replace bumpversion support with CHANGES.rst option
Add support for setup.py version command
Adopt twine for PyPI release/upload
Use README.rst as a long description at PyPI
Update some requirements
1.1.0¶
Add an HTTPStatus base class for type annotation usage
1.0.0¶
Refactor status check/test implementation
Add numeric code to status map
0.5.0¶
Remove HTTP statuses global maps
Create global StatusMap registry with constant attributes support
Add support for HTTP code comparison with integers, strings, HTTP classes, etc
Improve documentation organization, presentation and formatting
0.4.3¶
Fixed CI and documentation builds
0.4.2¶
Fix setup.py errors
0.4.0¶
Add initial documentation
Update dev requirements
Configure bumpversion for library release
0.3.1¶
Fix SwitchProxy class message
0.3.0¶
Add RFC references when available.
0.2.2¶
Small refactoring in HTTPError class implementation
0.2.1¶
Fix CI (travis/tox) errors
0.2¶
Initial support for requests response handling and wrapping.
Exception mixins must be derived from mixins to be used with try:/except:
Minor improvements and :lipstick: in code formatting and project organization
0.1¶
First version