Stream error in the HTTP/2 framing layer
- Dominant language
- TypeScript
- Stars
- 40k
- Forks
- 2.4k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 61
Description
### Expected Behavior
That a valid JSON response is returned
The service that I am using allows for passing oData query via query param.
This service works fine from Postman. My service provider downloaded Insomnia and and tried, he received the same error.
### Actual Behavior
Stream error in the HTTP/2 framing layer
A POST request with a payload & NO oData query param works fine
A POST request with a payload (that I know won't match any records) + an oData query param returns 204, which is fine
A POST request with a payload (that I know matches records) + an oData query param fails.
A GET request (different endpoints) + an oData query param works
If I look at the timeline, it appears that the service provider is marking the request as a 200 and that the issue occurs during the stream of the response. An endless stream of chunks is being returned to me before I get "HTTP/2 stream 0 was not closed cleanly". The response is not that big ... a single chunk .. not sure why it's streaming so much ...
Switching from HTTP/2 to HTTP/1.1 doesn't not fix the issue
Service provider thinks it has to do with URL escaping? But I am not so sure since the GET command works fine.
### Reproduction Steps
_No response_
### Is there an existing issue for this?
- [X] I have searched the [issue tracker](https://www.github.com/Kong/insomnia/issues) for this problem.
### Additional Information
_No response_
### Insomnia Version
2023.1.0
### What operating system are you using?
Windows
### Operating System Version
Windows 10 - 19044.2604
### Installation method
Insomnia updates itself
### Last Known Working Insomnia version
Never tried before this version
Contributor guide
Research direction
The payload names no source file, test, or reproduction steps. Start by reproducing the POST request with a matching-record oData query against the service, compare HTTP/2 and HTTP/1.1 behavior, and inspect the response stream; done means a valid JSON response is returned without the framing error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100