response#

Summary#

CachedResponse(method, reason, status, url, ...)

A dataclass containing cached response information, used for serialization.

CachedStreamReader([body])

A StreamReader loaded from previously consumed response content.

set_response_defaults(response)

Set some default CachedResponse values on a ClientResponse object, so they can be expected to always be present

Module Contents#

class CachedResponse(method, reason, status, url, version, body=b'', content=None, links=NOTHING, cookies=NOTHING, created_at=NOTHING, encoding='utf-8', expires=None, raw_headers=NOTHING, real_url=None, history=NOTHING, last_used=NOTHING)#

Bases: aiohttp.helpers.HeadersMixin

A dataclass containing cached response information, used for serialization. It will mostly behave the same as a aiohttp.ClientResponse that has been read, with some additional cache-related info.

Parameters
Return type

None

_body: Any#
_content: aiohttp.StreamReader#
property _headers: multidict._multidict.CIMultiDictProxy#
Return type

CIMultiDictProxy

property _released#
async close()#
property connection#
property content: aiohttp.StreamReader#
Return type

StreamReader

property content_disposition: Optional[aiohttp.ContentDisposition]#

Get Content-Disposition headers, if any

Return type

Optional[ContentDisposition]

cookies: http.cookies.SimpleCookie#
created_at: datetime.datetime#
encoding: str#
expires: Optional[datetime.datetime]#
property from_cache#
async classmethod from_client_response(client_response, expires=None)#

Convert a ClientResponse into a CachedReponse

Parameters
get_encoding()#
property headers: multidict._multidict.CIMultiDictProxy#

Get headers as an immutable, case-insensitive multidict from raw headers

Return type

CIMultiDictProxy

history: Iterable#
property host: str#
Return type

str

property is_expired: bool#

Determine if this cached response is expired

Return type

bool

async json(encoding=None, **kwargs)#

Read and decode JSON response

Parameters

encoding (Optional[str]) –

Return type

Optional[Dict[str, Any]]

last_used: datetime.datetime#

Convert stored links into the format returned by ClientResponse.links

Return type

MultiDictProxy

method: str#
property ok: bool#

Returns True if status is less than 400, False if not

Return type

bool

raise_for_status()#
raw_headers: Tuple[Tuple[bytes, bytes], ...]#
async read()#

Read response payload.

Return type

bytes

real_url: Union[str, yarl.URL]#
reason: str#
release()#
property request_info: aiohttp.RequestInfo#
Return type

RequestInfo

reset()#

Reset the stream reader to re-read a streamed response

async start()#
status: int#
async terminate()#
async text(encoding=None, errors='strict')#

Read response payload and decode

Parameters
Return type

str

url: yarl.URL#
version: str#
async wait_for_close()#
class CachedStreamReader(body=None)#

Bases: aiohttp.StreamReader

A StreamReader loaded from previously consumed response content. This feeds cached data into the stream so it can support all the same behavior as the original stream: async iteration, chunked reads, etc.

Parameters

body (Optional[bytes]) –

_to_str_tuples(data)#
Parameters

data (Mapping) –

Return type

List[Tuple[str, str]]

_to_url_multidict(data)#
Parameters

data (List[Tuple[str, str]]) –

Return type

MultiDict

set_response_defaults(response)#

Set some default CachedResponse values on a ClientResponse object, so they can be expected to always be present

Parameters

response (Union[ClientResponse, CachedResponse]) –

Return type

Union[ClientResponse, CachedResponse]