-
-
Notifications
You must be signed in to change notification settings - Fork 32.1k
gh-74668: Fix support of bytes in urllib.parse.parse_qsl() #115771
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gh-74668: Fix support of bytes in urllib.parse.parse_qsl() #115771
Conversation
urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data.
f6e343d
to
cdd796a
Compare
Thanks @serhiy-storchaka for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11, 3.12. |
…honGH-115771) urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data. (cherry picked from commit bdba8ef) Co-authored-by: Serhiy Storchaka <[email protected]>
GH-116366 is a backport of this pull request to the 3.12 branch. |
…honGH-115771) urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data. (cherry picked from commit bdba8ef) Co-authored-by: Serhiy Storchaka <[email protected]>
GH-116367 is a backport of this pull request to the 3.11 branch. |
…-115771) (GH-116366) urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data. (cherry picked from commit bdba8ef) Co-authored-by: Serhiy Storchaka <[email protected]>
…-115771) (GH-116367) urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data. (cherry picked from commit bdba8ef) Co-authored-by: Serhiy Storchaka <[email protected]>
This PR actually causes a probably accidental change in some currently working behavior. Previously:
but now it raises I think it's obviously pretty debatable whether the old behavior was desirable but there is popular code in the wild that depends on it: https://github.com/encode/httpx/blob/7df47ce4d93a06f2c3310cd692b4c2336d7663ba/httpx/_urls.py#L431-L433. (I stumbled across this when one of my colleagues was accidentally using a current dev branch of 3.11 and started getting mysterious errors from inside the bowels of the httpx client.) |
Thank you for your report @msullivan. Could you please open a new issue? |
…honGH-115771) urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data.
…honGH-115771) urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data.
urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data.