title: Python aiohttp module: ambiguous .content attribute
body: <p>Here is a little code snippet:</p>
  <pre><code>import aiohttp
  import aiofiles
  
  async def fetch(url):
      # starting a session
      async with aiohttp.ClientSession() as session:
          # starting a get request
          async with session.get(url) as response:
              # getting response content
              content = await response.content
              return content
   
  async def save_file(file_name, content):
      async with aiofiles.open(f'./binary/{file_name}', 'wb') as f:
        while True:
              chunk = content.read(1024)
              if not chunk:
                  break
              f.write(chunk)
  </code></pre>
  <p>I am trying to download some binary files using the <code>aiohttp</code> library and then passing them to a coroutine using <code>aiofiles</code> library to write the file in the disk.
  I have read the <a href="https://docs.aiohttp.org/en/stable/client_quickstart.html#binary-response-content" rel="nofollow noreferrer">documentation</a> but still couldn't figure out if I can pass <code>content = await response.content</code> or is it closed when the handle <code>async with..</code> is closed? Because on a <a href="https://dzone.com/articles/an-intro-to-aiohttp" rel="nofollow noreferrer">secondary blog</a>, I found:</p>
  <blockquote>
  <p>According to aiohttp’s documentation, because the response object was created in a context manager, it technically calls release() implicitly.</p>
  </blockquote>
  <p>Which confuses me, should I embed the logic of the second function inside the <code>response</code> handle or is my logic correct?</p>