aio-libs / aio-libs/aiohttp

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

Ouverte
#3,877 8 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Python
Étoiles
16.5k
Forks
2.4k
Merge moyen
20 h 10 min
PR mergées (30 j)
221

Description

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!

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.