Skip to content

v0.25.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Aug 20:58
facef88

Added

  • get_resumable_http_reader (oneio::get_resumable_http_reader and OneIo::get_resumable_http_reader): an opt-in HTTP(S) reader that transparently resumes with Range requests if the connection is dropped mid-transfer, continuing from the last byte read instead of failing. Default readers (get_reader/get_reader_raw) and download are unchanged. Resumed responses are validated (Content-Range start offset, ETag and Last-Modified when the original response provided it) to avoid splicing mismatched data; a 416 Range Not Satisfiable below the declared content length is surfaced as an error rather than a silent truncation. Requests pin Accept-Encoding: identity, so resumed byte ranges always refer to the stored representation (safe to combine with the reqwest-gzip feature). Thanks @JustinLoye (#76).

Fixed

  • Removed Content-Length: 0 from default HTTP headers. This header was sent on every request including GETs, where it incorrectly declared a zero-length request body. Some servers and proxies may reject or mishandle requests with an explicit Content-Length header on bodyless methods (#82).