code: def stream_download(self, chunk_size=None, callback=None):
          # type: (Optional[int], Optional[Callable]) -> Iterator[bytes]
          
          chunk_size = chunk_size or CONTENT_CHUNK_SIZE
          with contextlib.closing(self.internal_response) as response:
              # https://github.com/PyCQA/pylint/issues/1437
              for chunk in response.iter_content(chunk_size):  # pylint: disable=no-member
                  if not chunk:
                      break
                  if callback and callable(callback):
                      callback(chunk, response=response)
                  yield chunk
docs: Generator for streaming request body data.
  
          :param callback: Custom callback for monitoring progress.
          :param int chunk_size: