'$' been encoded to '%24' when using application/x-www-form-urlencoded
- Dominant language
- TypeScript
- Stars
- 40k
- Forks
- 2.4k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 61
Description
### Expected Behavior
The '$' should not be encoded.
Here is the expected:
> POST /token HTTP/2
> Host: a.test.domain
> content-type: application/x-www-form-urlencoded
> user-agent: insomnia/11.0.2
> accept: */*
> content-length: 11
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
| testKey=$
### Actual Behavior
In the request body, the '$' been encoded to "%24".
Console output:
> POST /token HTTP/2
> Host: a.test.domain
> content-type: application/x-www-form-urlencoded
> user-agent: insomnia/11.0.2
> accept: */*
> content-length: 11
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
| testKey=%24
### Reproduction Steps
1. Create a post request
2. Set Body type to "application/x-www-form-urlencoded"
3. Add a test key-value pari: testKey=$
4. Send the request and see the output in console
### Is there an existing issue for this?
- [x] I have searched the [issue tracker](https://www.github.com/Kong/insomnia/issues) for this problem.
### Which sync method do you use?
- [ ] Git sync.
- [ ] Insomnia Cloud sync.
- [x] Local only
### Additional Information
Currently a workaround is to use "text/plain" as content type and change "Content-Type" header to "application/x-www-form-urlencoded"
### Insomnia Version
11.5.0
### What operating system are you using?
Windows
### Operating System Version
Windows 11 Version 24H2 OS Build 26100.5074
### Installation method
download from insomnia.rest
### Last Known Working Insomnia version
_No response_
Contributor guide
Research direction
No source file or test is named in the issue. First reproduce the request using an application/x-www-form-urlencoded body containing testKey=$, then trace Insomnia's form-body encoding path. Done means the sent body preserves $ as testKey=$ rather than changing it to testKey=%24, with regression coverage if the relevant test area is found.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100