Download remote responses into library-owned temporary files with bounded resource use.
Scope
Stream decoded response chunks through decompression, incremental MD5 checksum calculation, and temporary-file storage. Enforce compressed, decoded, temporary, expansion-ratio, and decoder-buffer limits. Support ETag extraction, If-None-Match, HTTP 304, checksum unchanged outcomes, and cleanup on every path.
Acceptance Criteria
Complete download and checksum occur before parsing or item exposure.
Checksums are over decoded bytes and are lowercase MD5 values.
304 returns :not_modified without downloading a body.
Matching decoded checksum returns :not_changed without events.
Temporary files are removed on success, failure, and cancellation.
Byte, compression, expansion-ratio, ETag, and checksum behavior is tested.
## Objective
Download remote responses into library-owned temporary files with bounded resource use.
## Scope
Stream decoded response chunks through decompression, incremental MD5 checksum calculation, and temporary-file storage. Enforce compressed, decoded, temporary, expansion-ratio, and decoder-buffer limits. Support ETag extraction, `If-None-Match`, HTTP 304, checksum unchanged outcomes, and cleanup on every path.
## Acceptance Criteria
- Complete download and checksum occur before parsing or item exposure.
- Checksums are over decoded bytes and are lowercase MD5 values.
- 304 returns `:not_modified` without downloading a body.
- Matching decoded checksum returns `:not_changed` without events.
- Temporary files are removed on success, failure, and cancellation.
- Byte, compression, expansion-ratio, ETag, and checksum behavior is tested.
mmacia
self-assigned this 2026-10-16 10:12:48 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Download remote responses into library-owned temporary files with bounded resource use.
Scope
Stream decoded response chunks through decompression, incremental MD5 checksum calculation, and temporary-file storage. Enforce compressed, decoded, temporary, expansion-ratio, and decoder-buffer limits. Support ETag extraction,
If-None-Match, HTTP 304, checksum unchanged outcomes, and cleanup on every path.Acceptance Criteria
:not_modifiedwithout downloading a body.:not_changedwithout events.