Python 3.5+http.clientterm
http.HTTPStatus
status codes and methods
An enumeration of HTTP response codes (an IntEnum): HTTPStatus.NOT_FOUND equals 404 and carries the phrase 'Not Found' and a description.
Syntax
HTTPStatus.NOT_FOUND · HTTPStatus(404).phrase
Because it is an IntEnum, a member equals the number: HTTPStatus.OK == 200 is true, and it can go wherever an int is expected — send_response(), for instance. An unknown code, HTTPStatus(999), raises ValueError, so codes coming from outside need a check. The properties is_success, is_client_error and friends exist only since 3.12; on 3.11 use a range test such as 400 <= code < 500.
Examples
from http import HTTPStatus
s = HTTPStatus(404)
print(repr(s), s.phrase) # → <HTTPStatus.NOT_FOUND: 404> Not Found
print(HTTPStatus.OK == 200, f'{HTTPStatus.CREATED}') # → True 201
try:
HTTPStatus(999)
except ValueError as e:
print(e) # → 999 is not a valid HTTPStatus
# Python 3.12+
from http import HTTPStatus
print(HTTPStatus.NOT_FOUND.is_client_error, HTTPStatus.OK.is_success) # → True True
See also
Open in the full glossarydocs.python.orgReport an inaccuracy