summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorƁukasz Langa <lukasz@langa.pl>2021-10-06 15:28:16 (GMT)
committerGitHub <noreply@github.com>2021-10-06 15:28:16 (GMT)
commitf528045f695f7483d955a1eae4c1df68b1b4cacd (patch)
tree0aa89e755f8672aca1a635762dbaf0fef795a072
parent61892c04764e1f3a659bbd09e6373687a27d36e2 (diff)
downloadcpython-f528045f695f7483d955a1eae4c1df68b1b4cacd.zip
cpython-f528045f695f7483d955a1eae4c1df68b1b4cacd.tar.gz
cpython-f528045f695f7483d955a1eae4c1df68b1b4cacd.tar.bz2
bpo-40321: Add missing test, slightly expand documentation (GH-28760)
-rw-r--r--Doc/library/urllib.request.rst8
-rw-r--r--Lib/test/test_urllib2.py6
-rw-r--r--Lib/urllib/request.py2
-rw-r--r--Misc/NEWS.d/next/Library/2021-07-22-21-25-56.bpo-40321.gBlFmw.rst4
4 files changed, 12 insertions, 8 deletions
diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst
index 099d74b..88e93ba 100644
--- a/Doc/library/urllib.request.rst
+++ b/Doc/library/urllib.request.rst
@@ -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:
diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
index 9db23e6..a2b1340 100644
--- a/Lib/test/test_urllib2.py
+++ b/Lib/test/test_urllib2.py
@@ -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:
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index 3ba6d92..fd6fc36 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -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
diff --git a/Misc/NEWS.d/next/Library/2021-07-22-21-25-56.bpo-40321.gBlFmw.rst b/Misc/NEWS.d/next/Library/2021-07-22-21-25-56.bpo-40321.gBlFmw.rst
index 1a7dba2..fede2a0 100644
--- a/Misc/NEWS.d/next/Library/2021-07-22-21-25-56.bpo-40321.gBlFmw.rst
+++ b/Misc/NEWS.d/next/Library/2021-07-22-21-25-56.bpo-40321.gBlFmw.rst
@@ -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.