`http` silently corrupts the request URL when it contains non-Latin-1 codepoints
I experience the bug on Node commit 399cb25f
Darwin Tephs-Mac-Pro.local 16.6.0 Darwin Kernel Version 16.6.0: Fri Apr 14 16:21:16 PDT 2017; root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64 .
Subsystem: http
Issue description
When making a request using http.get
with the path set to /café🐶
, the server receives /café=6
. This is not the URL that was sent, it's not even the precent-encoded version of the URL (with encodeURI
), which would be /caf%C3%A9%F0%9F%90%B6
. I expected the URL to be passed along without data corruption.
I've created a pull request which contains a test case that currently fails, illustrating this bug. https://github.com/nodejs/node/pull/13297