# Fix: Respect Content-Length when Content-Encoding is present #1653
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.
Fix: Respect Content-Length when Content-Encoding is present
Problem Summary
HTTPie's
--download
flag incorrectly reports "Incomplete download" errors when receiving responses withContent-Encoding: gzip
(or other encodings), even when the download is actually complete.Example error:
This occurs because HTTPie was comparing the
Content-Length
header (which represents compressed size) against the decompressed content size.Root Cause
The issue violates RFC 9110 § 8.6, which states:
When
Content-Encoding: gzip
is present:Content-Length: 5084527
= size of compressed dataFix Overview
Content-Encoding
is present, validate against compressed payload sizeContent-Encoding
, behavior remains unchangedKey Changes
Content-Length
against raw bytes received when content encoding is presentTesting
Backward Compatibility
Related Issues
Fixes #1642
Acknowledgments
Thanks to @kohnalex for the detailed bug report and reproduction steps, which made this fix straightforward to implement and test.