Skip to content

Commit 25234b7

Browse files
fix: session include_headers also supports session headers (#375)
1 parent 5ad5d4c commit 25234b7

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

aiohttp_client_cache/session.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ async def _request(
8282
) -> CachedResponse:
8383
"""Wrapper around :py:meth:`.SessionClient._request` that adds caching"""
8484
# Attempt to fetch cached response
85+
headers = self._prepare_headers(kwargs.get('headers', None))
86+
kwargs['headers'] = headers
8587
key = self.cache.create_key(method, str_or_url, **kwargs)
8688
actions = self.cache.create_cache_actions(
8789
key, str_or_url, expire_after=expire_after, refresh=refresh, **kwargs

test/unit/test_session.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,17 @@ class CustomSession(CacheMixin, ClientSession):
189189
await session.get('http://test.url')
190190

191191
assert mock_request.called is False
192+
193+
194+
@patch.object(ClientSession, '_request', return_value=FakeCachedResponse)
195+
async def test_session__cache_include_headers(mock_request):
196+
async with CachedSession(cache=CacheBackend(include_headers=True)) as session:
197+
await session.get('https://test.com')
198+
199+
assert mock_request.called is True
200+
mock_request.called = False
201+
202+
session.headers.update({'key': 'value'})
203+
await session.get('https://test.com')
204+
205+
assert mock_request.called is True

0 commit comments

Comments
 (0)