From 5013d38380f19cdbc651ec2978b9b77955fddae5 Mon Sep 17 00:00:00 2001 From: Nick Pope Date: Tue, 15 Jan 2019 13:11:02 +0000 Subject: [PATCH] Optimized iterator exhaustion using collections.deque(). --- django/http/multipartparser.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/django/http/multipartparser.py b/django/http/multipartparser.py index e235024d0e..958b519dc3 100644 --- a/django/http/multipartparser.py +++ b/django/http/multipartparser.py @@ -7,6 +7,7 @@ file upload handlers for processing. import base64 import binascii import cgi +import collections from urllib.parse import unquote from django.conf import settings @@ -565,9 +566,7 @@ def exhaust(stream_or_iterable): iterator = iter(stream_or_iterable) except TypeError: iterator = ChunkIter(stream_or_iterable, 16384) - - for __ in iterator: - pass + collections.deque(iterator, maxlen=0) # consume iterator quickly. def parse_boundary_stream(stream, max_header_size):