aio-libs / aio-libs/aiohttp

prepared URL API

Open
#2,516 6 comments 3 reactions 0 assignees View on GitHub
client enhancement
Dominant language
Python
Stars
16.5k
Forks
2.4k
Avg merge
17h 22m
Merged PRs (30d)
212

Description

Is there a way to get prepared URL, which will be used in a query? Something like:
```
req = ClientSession().Request(method='GET', url='http://path.org', data={'a':1, 'b':2})
url = req.prepared_url() -> 'http://path.org?a=1&b=2'
req.headers.update({'auth': auth_fun(url)})
```
I need this for authentication purposes.
Till now I used `requests.Request.prepare().path_url` for the URL and yet sent aiohttp request, but I just found out that sometimes the argument ordering in the output URL will differ between the libraries. Nasty bug.

My first reflex was to try with `ClientRequest` but it requries YARL's URL object (I think?), which is doable I guess, but maybe there's something short and sweet already available.

Can you please help me out?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.