Content-Length invalid for unicode text
- Dominant language
- TypeScript
- Stars
- 1.2k
- Forks
- 242
- PR merge metrics
- No merged PRs in 30d
Description
When generating a http request string, the content-length seems to be calculated using the number of codepoints instead of bytes.
This was generated using insomnia, which uses httpsnippet:
```
POST /api/v1/test HTTP/1.1
Content-Type: text/plain
User-Agent: insomnia/2023.5.8
Host: localhost:5003
Content-Length: 3
äöü
```
This is what insomnia actually sends when executing the request (visualized using nc -l localhost 5003)
```
$ nc -l localhost 5003
POST /api/v1/test HTTP/1.1
Host: localhost:5003
Content-Type: text/plain
User-Agent: insomnia/2023.5.8
Accept: */*
Content-Length: 6
äöü
```
Contributor guide
Research direction
Start by tracing the code that generates the HTTP request string and calculates Content-Length, then check how Unicode text is encoded. Add a regression test using äöü and verify that the generated length matches the UTF-8 byte count.
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