aio-libs / aio-libs/aiohttp

Retrieving raw response (status + headers + body) data from ClientResponse?

Aperta
#3,877 8 commenti 1 reazione 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Python
Stelle
16.5k
Fork
2.4k
Merge medio
20h 10m
PR unite (30g)
221

Descrizione

I was wondering if there is a way to effectively get the entire raw response from a `ClientResponse` class. Take the following code for example:

```python
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
status = response.status
header = response.raw_headers
resp = await response.read()
```

What I am trying to effectively do is get the _complete_ and _raw_ return from the server -- the status, header, and the response in one. I have checked out the docs, and I see there is no mention for raw complete data, only portions; status, header, and body.

Now, I did think of simply reformatting `status` and `header`, and then adding them to the `resp`, but this seems a bit backward as I would be doing something that `aiohttp` certainly does the opposite of in the background -- which is why I am coming here asking for guidance. Something like so would be a lifesaver:

```python
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
resp = await response.read_raw() # or response.raw() or response.all(), any variation really.
```

Thank you in advance, and any guidance would be appreciated!

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.