bpo-26589: Add http status code 451 (GH-15413)

This commit is contained in:
Raymond Hettinger 2019-08-23 10:19:15 -07:00 committed by GitHub
parent 120b707a6d
commit 8f080b0995
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 0 deletions

View File

@ -106,6 +106,7 @@ Code Enum Name Details
``428`` ``PRECONDITION_REQUIRED`` Additional HTTP Status Codes :rfc:`6585` ``428`` ``PRECONDITION_REQUIRED`` Additional HTTP Status Codes :rfc:`6585`
``429`` ``TOO_MANY_REQUESTS`` Additional HTTP Status Codes :rfc:`6585` ``429`` ``TOO_MANY_REQUESTS`` Additional HTTP Status Codes :rfc:`6585`
``431`` ``REQUEST_HEADER_FIELDS_TOO_LARGE`` Additional HTTP Status Codes :rfc:`6585` ``431`` ``REQUEST_HEADER_FIELDS_TOO_LARGE`` Additional HTTP Status Codes :rfc:`6585`
``451`` ``UNAVAILABLE_FOR_LEGAL_REASONS`` An HTTP Status Code to Report Legal Obstacles :rfc:`7725`
``500`` ``INTERNAL_SERVER_ERROR`` HTTP/1.1 :rfc:`7231`, Section 6.6.1 ``500`` ``INTERNAL_SERVER_ERROR`` HTTP/1.1 :rfc:`7231`, Section 6.6.1
``501`` ``NOT_IMPLEMENTED`` HTTP/1.1 :rfc:`7231`, Section 6.6.2 ``501`` ``NOT_IMPLEMENTED`` HTTP/1.1 :rfc:`7231`, Section 6.6.2
``502`` ``BAD_GATEWAY`` HTTP/1.1 :rfc:`7231`, Section 6.6.3 ``502`` ``BAD_GATEWAY`` HTTP/1.1 :rfc:`7231`, Section 6.6.3
@ -126,3 +127,6 @@ equal to the constant name (i.e. ``http.HTTPStatus.OK`` is also available as
.. versionchanged:: 3.7 .. versionchanged:: 3.7
Added ``421 MISDIRECTED_REQUEST`` status code. Added ``421 MISDIRECTED_REQUEST`` status code.
.. versionadded:: 3.8
Added ``451 UNAVAILABLE_FOR_LEGAL_REASONS`` status code.

View File

@ -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 7725: An HTTP Status Code to Report Legal Obstacles
* RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2) * RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2)
""" """
def __new__(cls, value, phrase, description=''): def __new__(cls, value, phrase, description=''):
@ -114,6 +115,10 @@ class HTTPStatus(IntEnum):
'Request Header Fields Too Large', 'Request Header Fields Too Large',
'The server is unwilling to process the request because its header ' 'The server is unwilling to process the request because its header '
'fields are too large') 'fields are too large')
UNAVAILABLE_FOR_LEGAL_REASONS = (451,
'Unavailable For Legal Reasons',
'The server is denying access to the '
'resource as a consequence of a legal demand')
# server errors # server errors
INTERNAL_SERVER_ERROR = (500, 'Internal Server Error', INTERNAL_SERVER_ERROR = (500, 'Internal Server Error',

View File

@ -1401,6 +1401,7 @@ class OfflineTest(TestCase):
'PRECONDITION_REQUIRED', 'PRECONDITION_REQUIRED',
'TOO_MANY_REQUESTS', 'TOO_MANY_REQUESTS',
'REQUEST_HEADER_FIELDS_TOO_LARGE', 'REQUEST_HEADER_FIELDS_TOO_LARGE',
'UNAVAILABLE_FOR_LEGAL_REASONS',
'INTERNAL_SERVER_ERROR', 'INTERNAL_SERVER_ERROR',
'NOT_IMPLEMENTED', 'NOT_IMPLEMENTED',
'BAD_GATEWAY', 'BAD_GATEWAY',

View File

@ -0,0 +1,2 @@
Added a new status code to the http module: 451
UNAVAILABLE_FOR_LEGAL_REASONS