Clean up urlopen doc string.
Clarifies what is returned when and that the methods are common between the two.
Patch by Alexander Liu as part of #22797.
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index 4a3daec..333c3f2 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -173,12 +173,7 @@
The *cadefault* parameter is ignored.
For http and https urls, this function returns a http.client.HTTPResponse
- object which has the following HTTPResponse Objects methods.
-
- For ftp, file, and data urls and requests explicitly handled by legacy
- URLopener and FancyURLopener classes, this function returns a
- urllib.response.addinfourl object which can work as context manager and has
- methods such as:
+ object which has the following HTTPResponse Objects methods:
* geturl() - return the URL of the resource retrieved, commonly used to
determine if a redirect was followed
@@ -190,6 +185,11 @@
* getcode() - return the HTTP status code of the response. Raises URLError
on errors.
+ For ftp, file, and data urls and requests explicitly handled by legacy
+ URLopener and FancyURLopener classes, this function returns a
+ urllib.response.addinfourl object which can work as context manager and
+ also support the geturl(), info(), getcode() methods listed above.
+
Note that *None& may be returned if no handler handles the request (though
the default installed global OpenerDirector uses UnknownHandler to ensure
this never happens).
diff --git a/Misc/ACKS b/Misc/ACKS
index 8437805..ee67e27 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -884,6 +884,7 @@
Gregor Lingl
Everett Lipman
Mirko Liss
+Alexander Liu
Nick Lockwood
Stephanie Lockwood
Martin von Löwis