URL-encoding not handled for proxy username.(http-client)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5.9k
- Forks
- 1.8k
- PR merge metrics
- No merged PRs in 30d
Description
Describe the bug
Our Zscaler proxy requires @ to be used within the username. Because the username and password are specified as part of a URL, they must be URL-encoded by the caller; otherwise consider what would happen if the user's password or username contained an @ or a :, etc.
To Reproduce
Steps to reproduce the behavior:
- Self-hosted runner with
http_proxyandhttps_proxysetup withuser@name:password@proxy_url:proxy_port - For URL encoding. The
@within http_proxy and https_proxy will be replaced with%40for URL encoding http-clientload the username as plain text without decoding
Expected behavior
Expect http-client decode username and password when needed.
Screenshots
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the http-client code that parses proxy URLs and credentials, then reproduce the issue with the encoded @ in http_proxy or https_proxy. Done means username and password values are decoded when loaded from the proxy URL, while the existing proxy behavior remains intact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100