4.5. Enum Built-in
4.5.1. http.HTTPStatus
>>> from http import HTTPStatus
>>> HTTPStatus(200).name
'OK'
>>>
>>> HTTPStatus(404).name
'NOT_FOUND'
>>>
>>> HTTPStatus(500).name
'INTERNAL_SERVER_ERROR'
>>>
>>> HTTPStatus(418).name
'IM_A_TEAPOT'
4.5.2. http.HTTPMethod
Since 3.11:
>>> from http import HTTPMethod
>>> HTTPMethod.GET
<HTTPMethod.GET>
>>>
>>> HTTPMethod.GET == 'GET'
True
>>>
>>> HTTPMethod.GET.value
'GET'
>>>
>>> HTTPMethod.GET.description
'Retrieve the target.'
>>>
>>> list(HTTPMethod)
[<HTTPMethod.CONNECT>,
<HTTPMethod.DELETE>,
<HTTPMethod.GET>,
<HTTPMethod.HEAD>,
<HTTPMethod.OPTIONS>,
<HTTPMethod.PATCH>,
<HTTPMethod.POST>,
<HTTPMethod.PUT>,
<HTTPMethod.TRACE>]
4.5.3. Use Case - 1
>>> from urllib.request import urlopen
>>> from http import HTTPStatus
>>>
>>>
>>> resp = urlopen('https://python3.info')
>>>
>>> if resp.status == HTTPStatus.OK:
... print('OK')
... elif resp.status == HTTPStatus.NOT_FOUND:
... print('NOT_FOUND')
... elif resp.status == HTTPStatus.BAD_REQUEST:
... print('BAD_REQUEST')
... elif resp.status == HTTPStatus.TEMPORARY_REDIRECT:
... print('TEMPORARY_REDIRECT')
... elif resp.status == HTTPStatus.PERMANENT_REDIRECT:
... print('PERMANENT_REDIRECT')
... elif resp.status == HTTPStatus.INTERNAL_SERVER_ERROR:
... print('INTERNAL_SERVER_ERROR')
...
OK