Commit 52ad72dd authored by Vitor Pereira's avatar Vitor Pereira Committed by Berker Peksag

bpo-30553: Add status code 421 to http.HTTPStatus (GH-2589)

parent bdf4298a
...@@ -98,6 +98,7 @@ Code Enum Name Details ...@@ -98,6 +98,7 @@ Code Enum Name Details
``415`` ``UNSUPPORTED_MEDIA_TYPE`` HTTP/1.1 :rfc:`7231`, Section 6.5.13 ``415`` ``UNSUPPORTED_MEDIA_TYPE`` HTTP/1.1 :rfc:`7231`, Section 6.5.13
``416`` ``REQUEST_RANGE_NOT_SATISFIABLE`` HTTP/1.1 Range Requests :rfc:`7233`, Section 4.4 ``416`` ``REQUEST_RANGE_NOT_SATISFIABLE`` HTTP/1.1 Range Requests :rfc:`7233`, Section 4.4
``417`` ``EXPECTATION_FAILED`` HTTP/1.1 :rfc:`7231`, Section 6.5.14 ``417`` ``EXPECTATION_FAILED`` HTTP/1.1 :rfc:`7231`, Section 6.5.14
``421`` ``MISDIRECTED_REQUEST`` HTTP/2 :rfc:`7540`, Section 9.1.2
``422`` ``UNPROCESSABLE_ENTITY`` WebDAV :rfc:`4918`, Section 11.2 ``422`` ``UNPROCESSABLE_ENTITY`` WebDAV :rfc:`4918`, Section 11.2
``423`` ``LOCKED`` WebDAV :rfc:`4918`, Section 11.3 ``423`` ``LOCKED`` WebDAV :rfc:`4918`, Section 11.3
``424`` ``FAILED_DEPENDENCY`` WebDAV :rfc:`4918`, Section 11.4 ``424`` ``FAILED_DEPENDENCY`` WebDAV :rfc:`4918`, Section 11.4
...@@ -122,3 +123,6 @@ In order to preserve backwards compatibility, enum values are also present ...@@ -122,3 +123,6 @@ In order to preserve backwards compatibility, enum values are also present
in the :mod:`http.client` module in the form of constants. The enum name is in the :mod:`http.client` module in the form of constants. The enum name is
equal to the constant name (i.e. ``http.HTTPStatus.OK`` is also available as equal to the constant name (i.e. ``http.HTTPStatus.OK`` is also available as
``http.client.OK``). ``http.client.OK``).
.. versionchanged:: 3.7
Added ``421 MISDIRECTED_REQUEST`` status code.
...@@ -15,6 +15,7 @@ class HTTPStatus(IntEnum): ...@@ -15,6 +15,7 @@ class HTTPStatus(IntEnum):
* RFC 7238: Permanent Redirect * RFC 7238: Permanent Redirect
* RFC 2295: Transparent Content Negotiation in HTTP * RFC 2295: Transparent Content Negotiation in HTTP
* RFC 2774: An HTTP Extension Framework * RFC 2774: An HTTP Extension Framework
* RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2)
""" """
def __new__(cls, value, phrase, description=''): def __new__(cls, value, phrase, description=''):
obj = int.__new__(cls, value) obj = int.__new__(cls, value)
...@@ -98,6 +99,8 @@ class HTTPStatus(IntEnum): ...@@ -98,6 +99,8 @@ class HTTPStatus(IntEnum):
'Cannot satisfy request range') 'Cannot satisfy request range')
EXPECTATION_FAILED = (417, 'Expectation Failed', EXPECTATION_FAILED = (417, 'Expectation Failed',
'Expect condition could not be satisfied') 'Expect condition could not be satisfied')
MISDIRECTED_REQUEST = (421, 'Misdirected Request',
'Server is not able to produce a response')
UNPROCESSABLE_ENTITY = 422, 'Unprocessable Entity' UNPROCESSABLE_ENTITY = 422, 'Unprocessable Entity'
LOCKED = 423, 'Locked' LOCKED = 423, 'Locked'
FAILED_DEPENDENCY = 424, 'Failed Dependency' FAILED_DEPENDENCY = 424, 'Failed Dependency'
......
...@@ -1354,6 +1354,7 @@ class OfflineTest(TestCase): ...@@ -1354,6 +1354,7 @@ class OfflineTest(TestCase):
'UNSUPPORTED_MEDIA_TYPE', 'UNSUPPORTED_MEDIA_TYPE',
'REQUESTED_RANGE_NOT_SATISFIABLE', 'REQUESTED_RANGE_NOT_SATISFIABLE',
'EXPECTATION_FAILED', 'EXPECTATION_FAILED',
'MISDIRECTED_REQUEST',
'UNPROCESSABLE_ENTITY', 'UNPROCESSABLE_ENTITY',
'LOCKED', 'LOCKED',
'FAILED_DEPENDENCY', 'FAILED_DEPENDENCY',
......
Add HTTP/2 status code 421 (Misdirected Request) to
:class:`http.HTTPStatus`. Patch by Vitor Pereira.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment