#14809: Add HTTP status codes from RFC 6585 to http.server and http.client
Patch by EungJun Yi.
This commit is contained in:
parent
313fbe2106
commit
51b2ed51f0
|
@ -339,6 +339,15 @@ and also the following constants for integer status codes:
|
|||
| :const:`UPGRADE_REQUIRED` | ``426`` | HTTP Upgrade to TLS, |
|
||||
| | | :rfc:`2817`, Section 6 |
|
||||
+------------------------------------------+---------+-----------------------------------------------------------------------+
|
||||
| :const:`PRECONDITION_REQUIRED` | ``428`` | Additional HTTP Status Codes, |
|
||||
| | | :rfc:`6585`, Section 3 |
|
||||
+------------------------------------------+---------+-----------------------------------------------------------------------+
|
||||
| :const:`TOO_MANY_REQUESTS` | ``429`` | Additional HTTP Status Codes, |
|
||||
| | | :rfc:`6585`, Section 4 |
|
||||
+------------------------------------------+---------+-----------------------------------------------------------------------+
|
||||
| :const:`REQUEST_HEADER_FIELDS_TOO_LARGE` | ``431`` | Additional HTTP Status Codes, |
|
||||
| | | :rfc:`6585`, Section 5 |
|
||||
+------------------------------------------+---------+-----------------------------------------------------------------------+
|
||||
| :const:`INTERNAL_SERVER_ERROR` | ``500`` | HTTP/1.1, `RFC 2616, Section |
|
||||
| | | 10.5.1 |
|
||||
| | | <http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1>`_ |
|
||||
|
@ -369,6 +378,12 @@ and also the following constants for integer status codes:
|
|||
| :const:`NOT_EXTENDED` | ``510`` | An HTTP Extension Framework, |
|
||||
| | | :rfc:`2774`, Section 7 |
|
||||
+------------------------------------------+---------+-----------------------------------------------------------------------+
|
||||
| :const:`NETWORK_AUTHENTICATION_REQUIRED` | ``511`` | Additional HTTP Status Codes, |
|
||||
| | | :rfc:`6585`, Section 6 |
|
||||
+------------------------------------------+---------+-----------------------------------------------------------------------+
|
||||
|
||||
.. versionchanged:: 3.3
|
||||
Added codes ``428``, ``429``, ``431`` and ``511`` from :rfc:`6585`.
|
||||
|
||||
|
||||
.. data:: responses
|
||||
|
|
|
@ -141,6 +141,9 @@ UNPROCESSABLE_ENTITY = 422
|
|||
LOCKED = 423
|
||||
FAILED_DEPENDENCY = 424
|
||||
UPGRADE_REQUIRED = 426
|
||||
PRECONDITION_REQUIRED = 428
|
||||
TOO_MANY_REQUESTS = 429
|
||||
REQUEST_HEADER_FIELDS_TOO_LARGE = 431
|
||||
|
||||
# server error
|
||||
INTERNAL_SERVER_ERROR = 500
|
||||
|
@ -151,6 +154,7 @@ GATEWAY_TIMEOUT = 504
|
|||
HTTP_VERSION_NOT_SUPPORTED = 505
|
||||
INSUFFICIENT_STORAGE = 507
|
||||
NOT_EXTENDED = 510
|
||||
NETWORK_AUTHENTICATION_REQUIRED = 511
|
||||
|
||||
# Mapping status codes to official W3C names
|
||||
responses = {
|
||||
|
@ -192,6 +196,9 @@ responses = {
|
|||
415: 'Unsupported Media Type',
|
||||
416: 'Requested Range Not Satisfiable',
|
||||
417: 'Expectation Failed',
|
||||
428: 'Precondition Required',
|
||||
429: 'Too Many Requests',
|
||||
431: 'Request Header Fields Too Large',
|
||||
|
||||
500: 'Internal Server Error',
|
||||
501: 'Not Implemented',
|
||||
|
@ -199,6 +206,7 @@ responses = {
|
|||
503: 'Service Unavailable',
|
||||
504: 'Gateway Timeout',
|
||||
505: 'HTTP Version Not Supported',
|
||||
511: 'Network Authentication Required',
|
||||
}
|
||||
|
||||
# maximal amount of data to read at one time in _safe_read
|
||||
|
|
|
@ -573,7 +573,7 @@ class BaseHTTPRequestHandler(socketserver.StreamRequestHandler):
|
|||
|
||||
# Table mapping response codes to messages; entries have the
|
||||
# form {code: (shortmessage, longmessage)}.
|
||||
# See RFC 2616.
|
||||
# See RFC 2616 and 6585.
|
||||
responses = {
|
||||
100: ('Continue', 'Request received, please continue'),
|
||||
101: ('Switching Protocols',
|
||||
|
@ -628,6 +628,12 @@ class BaseHTTPRequestHandler(socketserver.StreamRequestHandler):
|
|||
'Cannot satisfy request range.'),
|
||||
417: ('Expectation Failed',
|
||||
'Expect condition could not be satisfied.'),
|
||||
428: ('Precondition Required',
|
||||
'The origin server requires the request to be conditional.'),
|
||||
429: ('Too Many Requests', 'The user has sent too many requests '
|
||||
'in a given amount of time ("rate limiting").'),
|
||||
431: ('Request Header Fields Too Large', 'The server is unwilling to '
|
||||
'process the request because its header fields are too large.'),
|
||||
|
||||
500: ('Internal Server Error', 'Server got itself in trouble'),
|
||||
501: ('Not Implemented',
|
||||
|
@ -638,6 +644,8 @@ class BaseHTTPRequestHandler(socketserver.StreamRequestHandler):
|
|||
504: ('Gateway Timeout',
|
||||
'The gateway server did not receive a timely response'),
|
||||
505: ('HTTP Version Not Supported', 'Cannot fulfill request.'),
|
||||
511: ('Network Authentication Required',
|
||||
'The client needs to authenticate to gain network access.'),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1129,6 +1129,7 @@ Florent Xicluna
|
|||
Hirokazu Yamamoto
|
||||
Ka-Ping Yee
|
||||
Jason Yeo
|
||||
EungJun Yi
|
||||
Bob Yodlowski
|
||||
Danny Yoo
|
||||
George Yoshida
|
||||
|
|
|
@ -34,6 +34,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #14809: Add HTTP status codes introduced by RFC 6585 to http.server
|
||||
and http.client. Patch by EungJun Yi.
|
||||
|
||||
- Issue #14777: tkinter may return undecoded UTF-8 bytes as a string when
|
||||
accessing the Tk clipboard. Modify clipboad_get() to first request type
|
||||
UTF8_STRING when no specific type is requested in an X11 windowing
|
||||
|
|
Loading…
Reference in New Issue