| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- from pip._vendor.requests.models import CONTENT_CHUNK_SIZE, Response
 
- from pip._internal.utils.typing import MYPY_CHECK_RUNNING
 
- if MYPY_CHECK_RUNNING:
 
-     from typing import Iterator
 
- def response_chunks(response, chunk_size=CONTENT_CHUNK_SIZE):
 
-     # type: (Response, int) -> Iterator[bytes]
 
-     """Given a requests Response, provide the data chunks.
 
-     """
 
-     try:
 
-         # Special case for urllib3.
 
-         for chunk in response.raw.stream(
 
-             chunk_size,
 
-             # We use decode_content=False here because we don't
 
-             # want urllib3 to mess with the raw bytes we get
 
-             # from the server. If we decompress inside of
 
-             # urllib3 then we cannot verify the checksum
 
-             # because the checksum will be of the compressed
 
-             # file. This breakage will only occur if the
 
-             # server adds a Content-Encoding header, which
 
-             # depends on how the server was configured:
 
-             # - Some servers will notice that the file isn't a
 
-             #   compressible file and will leave the file alone
 
-             #   and with an empty Content-Encoding
 
-             # - Some servers will notice that the file is
 
-             #   already compressed and will leave the file
 
-             #   alone and will add a Content-Encoding: gzip
 
-             #   header
 
-             # - Some servers won't notice anything at all and
 
-             #   will take a file that's already been compressed
 
-             #   and compress it again and set the
 
-             #   Content-Encoding: gzip header
 
-             #
 
-             # By setting this not to decode automatically we
 
-             # hope to eliminate problems with the second case.
 
-             decode_content=False,
 
-         ):
 
-             yield chunk
 
-     except AttributeError:
 
-         # Standard file-like object.
 
-         while True:
 
-             chunk = response.raw.read(chunk_size)
 
-             if not chunk:
 
-                 break
 
-             yield chunk
 
 
  |