summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitor Pereira <vmsousapereira@gmail.com>2017-10-26 18:49:19 (GMT)
committerBerker Peksag <berker.peksag@gmail.com>2017-10-26 18:49:19 (GMT)
commit52ad72dd0a5a56414cc29b7c9b03259169825f35 (patch)
treee95aa7a4128b4cbb43fe3bc93e4e6e4915aba4d9
parentbdf4298ae2c1d720fd808520267ca3a4e56df842 (diff)
downloadcpython-52ad72dd0a5a56414cc29b7c9b03259169825f35.zip
cpython-52ad72dd0a5a56414cc29b7c9b03259169825f35.tar.gz
cpython-52ad72dd0a5a56414cc29b7c9b03259169825f35.tar.bz2
bpo-30553: Add status code 421 to http.HTTPStatus (GH-2589)
-rw-r--r--Doc/library/http.rst4
-rw-r--r--Lib/http/__init__.py3
-rw-r--r--Lib/test/test_httplib.py1
-rw-r--r--Misc/NEWS.d/next/Library/2017-07-05-14-48-26.bpo-30553.Oupsxo.rst2
4 files changed, 10 insertions, 0 deletions
diff --git a/Doc/library/http.rst b/Doc/library/http.rst
index be661c5..7c34004 100644
--- a/Doc/library/http.rst
+++ b/Doc/library/http.rst
@@ -98,6 +98,7 @@ Code Enum Name Details
``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
``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
``423`` ``LOCKED`` WebDAV :rfc:`4918`, Section 11.3
``424`` ``FAILED_DEPENDENCY`` WebDAV :rfc:`4918`, Section 11.4
@@ -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
equal to the constant name (i.e. ``http.HTTPStatus.OK`` is also available as
``http.client.OK``).
+
+.. versionchanged:: 3.7
+ Added ``421 MISDIRECTED_REQUEST`` status code.
diff --git a/Lib/http/__init__.py b/Lib/http/__init__.py
index d4334cc..aed94a5 100644
--- a/Lib/http/__init__.py
+++ b/Lib/http/__init__.py
@@ -15,6 +15,7 @@ class HTTPStatus(IntEnum):
* RFC 7238: Permanent Redirect
* RFC 2295: Transparent Content Negotiation in HTTP
* RFC 2774: An HTTP Extension Framework
+ * RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2)
"""
def __new__(cls, value, phrase, description=''):
obj = int.__new__(cls, value)
@@ -98,6 +99,8 @@ class HTTPStatus(IntEnum):
'Cannot satisfy request range')
EXPECTATION_FAILED = (417, 'Expectation Failed',
'Expect condition could not be satisfied')
+ MISDIRECTED_REQUEST = (421, 'Misdirected Request',
+ 'Server is not able to produce a response')
UNPROCESSABLE_ENTITY = 422, 'Unprocessable Entity'
LOCKED = 423, 'Locked'
FAILED_DEPENDENCY = 424, 'Failed Dependency'
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index bec994e..5591f1d 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -1354,6 +1354,7 @@ class OfflineTest(TestCase):
'UNSUPPORTED_MEDIA_TYPE',
'REQUESTED_RANGE_NOT_SATISFIABLE',
'EXPECTATION_FAILED',
+ 'MISDIRECTED_REQUEST',
'UNPROCESSABLE_ENTITY',
'LOCKED',
'FAILED_DEPENDENCY',
diff --git a/Misc/NEWS.d/next/Library/2017-07-05-14-48-26.bpo-30553.Oupsxo.rst b/Misc/NEWS.d/next/Library/2017-07-05-14-48-26.bpo-30553.Oupsxo.rst
new file mode 100644
index 0000000..51f0d5b
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2017-07-05-14-48-26.bpo-30553.Oupsxo.rst
@@ -0,0 +1,2 @@
+Add HTTP/2 status code 421 (Misdirected Request) to
+:class:`http.HTTPStatus`. Patch by Vitor Pereira.