Fixed #28137 -- Deprecated HttpRequest.xreadlines().
This commit is contained in:
parent
278a09ac1f
commit
a1b2c1d76e
|
@ -1,5 +1,6 @@
|
|||
import copy
|
||||
import re
|
||||
import warnings
|
||||
from io import BytesIO
|
||||
from itertools import chain
|
||||
from urllib.parse import quote, urlencode, urljoin, urlsplit
|
||||
|
@ -12,6 +13,7 @@ from django.core.exceptions import (
|
|||
from django.core.files import uploadhandler
|
||||
from django.http.multipartparser import MultiPartParser, MultiPartParserError
|
||||
from django.utils.datastructures import ImmutableList, MultiValueDict
|
||||
from django.utils.deprecation import RemovedInDjango30Warning
|
||||
from django.utils.encoding import escape_uri_path, force_bytes, iri_to_uri
|
||||
from django.utils.http import is_same_domain, limited_parse_qsl
|
||||
|
||||
|
@ -328,14 +330,19 @@ class HttpRequest:
|
|||
except IOError as e:
|
||||
raise UnreadablePostError(*e.args) from e
|
||||
|
||||
def xreadlines(self):
|
||||
def __iter__(self):
|
||||
while True:
|
||||
buf = self.readline()
|
||||
if not buf:
|
||||
break
|
||||
yield buf
|
||||
|
||||
__iter__ = xreadlines
|
||||
def xreadlines(self):
|
||||
warnings.warn(
|
||||
'HttpRequest.xreadlines() is deprecated in favor of iterating the '
|
||||
'request.', RemovedInDjango30Warning, stacklevel=2,
|
||||
)
|
||||
yield from self
|
||||
|
||||
def readlines(self):
|
||||
return list(iter(self))
|
||||
|
|
|
@ -21,6 +21,8 @@ details on these changes.
|
|||
|
||||
* The ``DEFAULT_CONTENT_TYPE`` setting will be removed.
|
||||
|
||||
* ``HttpRequest.xreadlines()`` will be removed.
|
||||
|
||||
.. _deprecation-removed-in-2.1:
|
||||
|
||||
2.1
|
||||
|
|
|
@ -362,7 +362,6 @@ Methods
|
|||
.. method:: HttpRequest.read(size=None)
|
||||
.. method:: HttpRequest.readline()
|
||||
.. method:: HttpRequest.readlines()
|
||||
.. method:: HttpRequest.xreadlines()
|
||||
.. method:: HttpRequest.__iter__()
|
||||
|
||||
Methods implementing a file-like interface for reading from an
|
||||
|
|
|
@ -334,6 +334,9 @@ Miscellaneous
|
|||
well with third-party apps and is obsolete since HTML5 has mostly superseded
|
||||
XHTML.
|
||||
|
||||
* ``HttpRequest.xreadlines()`` is deprecated in favor of iterating over the
|
||||
request.
|
||||
|
||||
.. _removed-features-2.0:
|
||||
|
||||
Features removed in 2.0
|
||||
|
|
Loading…
Reference in New Issue