Skip to content

Commit 87e0959

Browse files
fix: use .read() instead of .content.read() in aiohttp transport
Using .read() is more robust when working with caching libraries like aiohttp-client-cache, which may cause .content.read() to return empty bytes on subsequent reads. .read() ensures the full body is returned. Fixes #1248
1 parent 0e28e6f commit 87e0959

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

google/auth/transport/_aiohttp_requests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def data(self):
7979

8080
async def raw_content(self):
8181
if self._raw_content is None:
82-
self._raw_content = await self._response.content.read()
82+
self._raw_content = await self._response.read()
8383
return self._raw_content
8484

8585
async def content(self):

tests_async/transport/test_aiohttp_requests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def test__is_compressed_not(self):
4040
@pytest.mark.asyncio
4141
async def test_raw_content(self):
4242
mock_response = mock.AsyncMock()
43-
mock_response.content.read.return_value = mock.sentinel.read
43+
mock_response.read.return_value = mock.sentinel.read
4444
combined_response = aiohttp_requests._CombinedResponse(response=mock_response)
4545
raw_content = await combined_response.raw_content()
4646
assert raw_content == mock.sentinel.read
@@ -53,7 +53,7 @@ async def test_raw_content(self):
5353
@pytest.mark.asyncio
5454
async def test_content(self):
5555
mock_response = mock.AsyncMock()
56-
mock_response.content.read.return_value = mock.sentinel.read
56+
mock_response.read.return_value = mock.sentinel.read
5757
combined_response = aiohttp_requests._CombinedResponse(response=mock_response)
5858
content = await combined_response.content()
5959
assert content == mock.sentinel.read

0 commit comments

Comments
 (0)