session#
Summary#
|
A mixin class for |
|
A drop-in replacement for |
Module Contents#
- class CachedSession(base_url=None, *, cache=None, **kwargs)#
Bases:
aiohttp_client_cache.session.CacheMixin
,aiohttp.ClientSession
A drop-in replacement for
aiohttp.ClientSession
that adds caching support- Parameters
cache (
Optional
[CacheBackend
]) – A cache backend object. Seeaiohttp_client_cache.backends
for options. If not provided, an in-memory cache will be used.connector (Optional[
aiohttp.BaseConnector
]) –loop (Optional[asyncio.events.AbstractEventLoop]) –
cookies (Optional[Union[Mapping[str, Union[str, BaseCookie[str], Morsel[Any]]], Iterable[Tuple[str, Union[str, BaseCookie[str], Morsel[Any]]]], BaseCookie[str]]]) –
headers (Optional[Union[Mapping[Union[str, multidict._multidict.istr], str], multidict._multidict.CIMultiDict, multidict._multidict.CIMultiDictProxy]]) –
auth (Optional[
aiohttp.BasicAuth
]) –request_class (Type[aiohttp.client_reqrep.ClientRequest]) –
response_class (Type[
aiohttp.ClientResponse
]) –ws_response_class (Type[
aiohttp.ClientWebSocketResponse
]) –version (aiohttp.http_writer.HttpVersion) –
cookie_jar (Optional[aiohttp.abc.AbstractCookieJar]) –
connector_owner (bool) –
raise_for_status (bool) –
timeout (Union[object,
aiohttp.ClientTimeout
]) –auto_decompress (bool) –
trust_env (bool) –
requote_redirect_url (bool) –
trace_configs (Optional[List[
aiohttp.TraceConfig
]]) –read_bufsize (int) –
- async _request(method, str_or_url, expire_after=None, **kwargs)#
Wrapper around
SessionClient._request()
that adds cachingArgs:
- Parameters
method (
str
) –expire_after (
Union
[None
,int
,float
,str
,datetime
,timedelta
]) –data (Any) –
json (Any) –
cookies (Optional[Union[Mapping[str, Union[str, BaseCookie[str], Morsel[Any]]], Iterable[Tuple[str, Union[str, BaseCookie[str], Morsel[Any]]]], BaseCookie[str]]]) –
headers (Optional[Union[Mapping[Union[str, multidict._multidict.istr], str], multidict._multidict.CIMultiDict, multidict._multidict.CIMultiDictProxy]]) –
auth (Optional[
aiohttp.BasicAuth
]) –allow_redirects (bool) –
max_redirects (int) –
expect100 (bool) –
read_until_eof (bool) –
proxy_auth (Optional[
aiohttp.BasicAuth
]) –timeout (Union[
aiohttp.ClientTimeout
, object]) –ssl_context (Optional[ssl.SSLContext]) –
ssl (Optional[Union[ssl.SSLContext, bool,
aiohttp.Fingerprint
]]) –proxy_headers (Optional[Union[Mapping[Union[str, multidict._multidict.istr], str], multidict._multidict.CIMultiDict, multidict._multidict.CIMultiDictProxy]]) –
trace_request_ctx (Optional[types.SimpleNamespace]) –
- Return type
- async delete_expired_responses()#
Remove all expired responses from the cache
- disabled()#
Temporarily disable the cache
Example
>>> async with CachedSession() as session: >>> await session.get('http://httpbin.org/ip') >>> async with session.disabled(): >>> # Will return a new response, not a cached one >>> await session.get('http://httpbin.org/ip')
- class CacheMixin(base_url=None, *, cache=None, **kwargs)#
A mixin class for
aiohttp.ClientSession
that adds caching support- Parameters
cache (
Optional
[CacheBackend
]) –connector (Optional[
aiohttp.BaseConnector
]) –loop (Optional[asyncio.events.AbstractEventLoop]) –
cookies (Optional[Union[Mapping[str, Union[str, BaseCookie[str], Morsel[Any]]], Iterable[Tuple[str, Union[str, BaseCookie[str], Morsel[Any]]]], BaseCookie[str]]]) –
headers (Optional[Union[Mapping[Union[str, multidict._multidict.istr], str], multidict._multidict.CIMultiDict, multidict._multidict.CIMultiDictProxy]]) –
auth (Optional[
aiohttp.BasicAuth
]) –request_class (Type[aiohttp.client_reqrep.ClientRequest]) –
response_class (Type[
aiohttp.ClientResponse
]) –ws_response_class (Type[
aiohttp.ClientWebSocketResponse
]) –version (aiohttp.http_writer.HttpVersion) –
cookie_jar (Optional[aiohttp.abc.AbstractCookieJar]) –
connector_owner (bool) –
raise_for_status (bool) –
timeout (Union[object,
aiohttp.ClientTimeout
]) –auto_decompress (bool) –
trust_env (bool) –
requote_redirect_url (bool) –
trace_configs (Optional[List[
aiohttp.TraceConfig
]]) –read_bufsize (int) –