session¶
Summary¶
|
A mixin class for |
|
A drop-in replacement for |
Module Contents¶
- class CachedSession(base_url=None, *, cache=None, **kwargs)¶
Bases:
CacheMixin,ClientSessionA drop-in replacement for
aiohttp.ClientSessionthat adds caching support- Parameters:
cache (
CacheBackend|None) – A cache backend object. Seeaiohttp_client_cache.backendsfor options. If not provided, an in-memory cache will be used.connector (
aiohttp.BaseConnector| None)loop (AbstractEventLoop | None)
cookies (Mapping[str, str | BaseCookie[str] | Morsel[Any]] | Iterable[Tuple[str, str | BaseCookie[str] | Morsel[Any]]] | BaseCookie[str] | None)
headers (Mapping[str, str] | Mapping[istr, str] | CIMultiDict | CIMultiDictProxy | Iterable[Tuple[str | istr, str]] | None)
proxy_auth (
aiohttp.BasicAuth| None)auth (
aiohttp.BasicAuth| None)request_class (Type[
aiohttp.ClientRequest])response_class (Type[
aiohttp.ClientResponse])ws_response_class (Type[
aiohttp.ClientWebSocketResponse])version (HttpVersion)
cookie_jar (AbstractCookieJar | None)
connector_owner (bool)
raise_for_status (bool | Callable[[
aiohttp.ClientResponse], Awaitable[None]])read_timeout (float | _SENTINEL)
conn_timeout (float | None)
timeout (object |
aiohttp.ClientTimeout)auto_decompress (bool)
trust_env (bool)
requote_redirect_url (bool)
trace_configs (List[
aiohttp.TraceConfig] | None)read_bufsize (int)
max_line_size (int)
max_field_size (int)
fallback_charset_resolver (Callable[[
aiohttp.ClientResponse, bytes], str])middlewares (Sequence[Callable[[
aiohttp.ClientRequest, Callable[[aiohttp.ClientRequest], Awaitable[aiohttp.ClientResponse]]], Awaitable[aiohttp.ClientResponse]]])ssl_shutdown_timeout (_SENTINEL | None | float)
- async _request(method, str_or_url, expire_after=None, refresh=False, **kwargs)¶
Wrapper around
SessionClient._request()that adds cachingArgs:
- Parameters:
method (
str)expire_after (
Union[None,int,float,str,datetime,timedelta])refresh (
bool)params (None | str | Mapping[str, str | SupportsInt | float | Sequence[str | SupportsInt | float]] | Sequence[tuple[str, str | SupportsInt | float | Sequence[str | SupportsInt | float]]])
data (Any)
json (Any)
cookies (Mapping[str, str | BaseCookie[str] | Morsel[Any]] | Iterable[Tuple[str, str | BaseCookie[str] | Morsel[Any]]] | BaseCookie[str] | None)
headers (Mapping[str, str] | Mapping[istr, str] | CIMultiDict | CIMultiDictProxy | Iterable[Tuple[str | istr, str]] | None)
auth (
aiohttp.BasicAuth| None)allow_redirects (bool)
max_redirects (int)
chunked (bool | None)
expect100 (bool)
raise_for_status (None | bool | Callable[[
aiohttp.ClientResponse], Awaitable[None]])read_until_eof (bool)
proxy_auth (
aiohttp.BasicAuth| None)timeout (
aiohttp.ClientTimeout| _SENTINEL)verify_ssl (bool | None)
fingerprint (bytes | None)
ssl_context (None)
ssl (None | bool |
aiohttp.Fingerprint)server_hostname (str | None)
proxy_headers (Mapping[str, str] | Mapping[istr, str] | CIMultiDict | CIMultiDictProxy | Iterable[Tuple[str | istr, str]] | None)
read_bufsize (int | None)
auto_decompress (bool | None)
max_line_size (int | None)
max_field_size (int | None)
middlewares (Sequence[Callable[[
aiohttp.ClientRequest, Callable[[aiohttp.ClientRequest], Awaitable[aiohttp.ClientResponse]]], Awaitable[aiohttp.ClientResponse]]] | None)
- 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.ClientSessionthat adds caching support- Parameters:
cache (
CacheBackend|None)connector (
aiohttp.BaseConnector| None)loop (AbstractEventLoop | None)
cookies (Mapping[str, str | BaseCookie[str] | Morsel[Any]] | Iterable[Tuple[str, str | BaseCookie[str] | Morsel[Any]]] | BaseCookie[str] | None)
headers (Mapping[str, str] | Mapping[istr, str] | CIMultiDict | CIMultiDictProxy | Iterable[Tuple[str | istr, str]] | None)
proxy_auth (
aiohttp.BasicAuth| None)auth (
aiohttp.BasicAuth| None)request_class (Type[
aiohttp.ClientRequest])response_class (Type[
aiohttp.ClientResponse])ws_response_class (Type[
aiohttp.ClientWebSocketResponse])version (HttpVersion)
cookie_jar (AbstractCookieJar | None)
connector_owner (bool)
raise_for_status (bool | Callable[[
aiohttp.ClientResponse], Awaitable[None]])read_timeout (float | _SENTINEL)
conn_timeout (float | None)
timeout (object |
aiohttp.ClientTimeout)auto_decompress (bool)
trust_env (bool)
requote_redirect_url (bool)
trace_configs (List[
aiohttp.TraceConfig] | None)read_bufsize (int)
max_line_size (int)
max_field_size (int)
fallback_charset_resolver (Callable[[
aiohttp.ClientResponse, bytes], str])middlewares (Sequence[Callable[[
aiohttp.ClientRequest, Callable[[aiohttp.ClientRequest], Awaitable[aiohttp.ClientResponse]]], Awaitable[aiohttp.ClientResponse]]])ssl_shutdown_timeout (_SENTINEL | None | float)