bpo-12707: deprecate info(), geturl(), getcode() methods in favor of headers, url, and status properties for HTTPResponse and addinfourl (GH-11447)
Co-Authored-By: epicfaace <aramaswamis@gmail.com>
diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst
index 448bc67..a903d60 100644
--- a/Doc/library/urllib.request.rst
+++ b/Doc/library/urllib.request.rst
@@ -55,16 +55,8 @@
The *cadefault* parameter is ignored.
This function always returns an object which can work as a
- :term:`context manager` and has methods such as
-
- * :meth:`~urllib.response.addinfourl.geturl` --- return the URL of the resource retrieved,
- commonly used to determine if a redirect was followed
-
- * :meth:`~urllib.response.addinfourl.info` --- return the meta-information of the page, such as headers,
- in the form of an :func:`email.message_from_string` instance (see
- `Quick Reference to HTTP Headers <http://jkorpela.fi/http.html>`_)
-
- * :meth:`~urllib.response.addinfourl.getcode` -- return the HTTP status code of the response.
+ :term:`context manager` and has the properties *url*, *headers*, and *status*.
+ See :class:`urllib.response.addinfourl` for more detail on these properties.
For HTTP and HTTPS URLs, this function returns a
:class:`http.client.HTTPResponse` object slightly modified. In addition
@@ -1585,9 +1577,42 @@
:synopsis: Response classes used by urllib.
The :mod:`urllib.response` module defines functions and classes which define a
-minimal file like interface, including ``read()`` and ``readline()``. The
-typical response object is an addinfourl instance, which defines an ``info()``
-method and that returns headers and a ``geturl()`` method that returns the url.
-Functions defined by this module are used internally by the
-:mod:`urllib.request` module.
+minimal file-like interface, including ``read()`` and ``readline()``.
+Functions defined by this module are used internally by the :mod:`urllib.request` module.
+The typical response object is a :class:`urllib.response.addinfourl` instance:
+.. class:: addinfourl
+
+ .. attribute:: url
+
+ URL of the resource retrieved, commonly used to determine if a redirect was followed.
+
+ .. attribute:: headers
+
+ Returns the headers of the response in the form of an :class:`~email.message.EmailMessage` instance.
+
+ .. attribute:: status
+
+ .. versionadded:: 3.9
+
+ Status code returned by server.
+
+ .. method:: geturl()
+
+ .. deprecated:: 3.9
+ Deprecated in favor of :attr:`~addinfourl.url`.
+
+ .. method:: info()
+
+ .. deprecated:: 3.9
+ Deprecated in favor of :attr:`~addinfourl.headers`.
+
+ .. attribute:: code
+
+ .. deprecated:: 3.9
+ Deprecated in favor of :attr:`~addinfourl.status`.
+
+ .. method:: getstatus()
+
+ .. deprecated:: 3.9
+ Deprecated in favor of :attr:`~addinfourl.status`.