Fix empty content-length handling for gzip and 204 responses #2870
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The transmit logic incorrectly considers missing
content-lengthheaders as having a payload length of0, while it usually signals that chunked transfer encoding should be used (with any actual length).This patch fixes this by always parsing the header value, and testing using integer comparisons instead of the current truthiness tests.
I have added 2 new tests to verify the chunked response behavior. I also fixed an existing compression test, which was actually not working as intended due to not signalling a compressible mime type.