bpo-40321: Add missing test, slightly expand documentation (GH-28760)

This commit is contained in:
Łukasz Langa 2021-10-06 17:28:16 +02:00 committed by GitHub
parent 61892c0476
commit f528045f69
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 8 deletions

View file

@ -876,13 +876,17 @@ HTTPRedirectHandler Objects
.. method:: HTTPRedirectHandler.http_error_307(req, fp, code, msg, hdrs)
The same as :meth:`http_error_301`, but called for the 'temporary redirect'
response.
response. It does not allow changing the request method from ``POST``
to ``GET``.
.. method:: HTTPRedirectHandler.http_error_308(req, fp, code, msg, hdrs)
The same as :meth:`http_error_301`, but called for the 'permanent redirect'
response.
response. It does not allow changing the request method from ``POST``
to ``GET``.
.. versionadded:: 3.11
.. _http-cookie-processor:

View file

@ -1163,7 +1163,7 @@ class HandlerTests(unittest.TestCase):
o = h.parent = MockOpener()
# ordinary redirect behaviour
for code in 301, 302, 303, 307:
for code in 301, 302, 303, 307, 308:
for data in None, "blah\nblah\n":
method = getattr(h, "http_error_%s" % code)
req = Request(from_url, data)
@ -1176,8 +1176,8 @@ class HandlerTests(unittest.TestCase):
method(req, MockFile(), code, "Blah",
MockHeaders({"location": to_url}))
except urllib.error.HTTPError:
# 307 in response to POST requires user OK
self.assertEqual(code, 307)
# 307 and 308 in response to POST require user OK
self.assertIn(code, (307, 308))
self.assertIsNotNone(data)
self.assertEqual(o.req.get_full_url(), to_url)
try:

View file

@ -11,7 +11,7 @@ option. The OpenerDirector is a composite object that invokes the
Handlers needed to open the requested URL. For example, the
HTTPHandler performs HTTP GET and POST requests and deals with
non-error returns. The HTTPRedirectHandler automatically deals with
HTTP 301, 302, 303, 307 and 308 redirect errors, and the
HTTP 301, 302, 303, 307, and 308 redirect errors, and the
HTTPDigestAuthHandler deals with digest authentication.
urlopen(url, data=None) -- Basic usage is the same as original

View file

@ -1,2 +1,2 @@
Adds support for HTTP 308 redirects to :mod:`urllib`. Patch by Jochem
Schulenklopper.
Adds support for HTTP 308 redirects to :mod:`urllib`. See :rfc:`7538` for
details. Patch by Jochem Schulenklopper.