[Python-checkins] cpython: whatsnew: Request.method can be overridden in subclasses (#18978).
r.david.murray
python-checkins at python.org
Tue Feb 25 16:23:31 CET 2014
http://hg.python.org/cpython/rev/1afbd851d1c1
changeset: 89385:1afbd851d1c1
user: R David Murray <rdmurray at bitdance.com>
date: Tue Feb 25 10:22:50 2014 -0500
summary:
whatsnew: Request.method can be overridden in subclasses (#18978).
Jason doced the change in the constructor *method* description, but
not the description of Request.method, so I added the change there
as well.
files:
Doc/library/urllib.request.rst | 17 ++++++++++++-----
Doc/whatsnew/3.4.rst | 5 +++++
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst
--- a/Doc/library/urllib.request.rst
+++ b/Doc/library/urllib.request.rst
@@ -218,7 +218,7 @@
fetching of the image, this should be true.
*method* should be a string that indicates the HTTP request method that
- will be used (e.g. ``'HEAD'``). Its value is stored in the
+ will be used (e.g. ``'HEAD'``). If provided, its value is stored in the
:attr:`~Request.method` attribute and is used by :meth:`get_method()`.
Subclasses may indicate a default method by setting the
:attr:`~Request.method` attribute in the class itself.
@@ -440,13 +440,20 @@
.. attribute:: Request.method
- The HTTP request method to use. This value is used by
- :meth:`~Request.get_method` to override the computed HTTP request
- method that would otherwise be returned. This attribute is initialized with
- the value of the *method* argument passed to the constructor.
+ The HTTP request method to use. By default its value is :const:`None`,
+ which means that :meth:`~Request.get_method` will do its normal computation
+ of the method to be used. Its value can be set (thus overriding the default
+ computation in :meth:`~Request.get_method`) either by providing a default
+ value by setting it at the class level in a :class:`Request` subclass, or by
+ passing a value in to the :class:`Request` constructor via the *method*
+ argument.
.. versionadded:: 3.3
+ .. versionchanged:: 3.4
+ A default value can now be set in subclasses; previously it could only
+ be set via the constructor argument.
+
.. method:: Request.get_method()
diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -1272,6 +1272,11 @@
:class:`~urllib.request.DataHandler` class. (Contributed by Mathias Panzenböck
in :issue:`16423`.)
+The http method that will be used by a :class:`~urllib.request.Request` class
+can now be specified by setting a :class:`~urllib.request.Request.method`
+class attribute on the subclass. (Contributed by Jason R Coombs in
+:issue:`18978`.)
+
unittest
--------
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list