Rhtdl: Reliable HTTP download

Frustrated with current options for http downloads being insufficently robust to suprious network failure, I built my own solution on top of reqwest.

It has a few central ideas:

  1. do the right thing by default.
  2. if a network error can happen, it will happen.
  3. as long as progress is being made, it doesn't matter how many errors occur.

It still doesn't have a super comprehensive test suite, an thus shouldn't be used in production, mainly because every http server library i've is too good at enforcing correctness at compile time, which means intentionally writing a misbehaving http server is incredibly difficult. (mainly, I want the test server to be able to close the tcp connection mid-response, since this is an edge case that is commonly handled poorly, despite being quite common on mobile devices)

1 Like

That is, if there is a network failure, and when the network returns to working condition, the download will continue as if nothing had happened?

Yes, unless the failure persists longer than the stalled download timeout. you can also disable all timeouts and retry counts in order to retry indefinitely, recommended for certain applications like podcast players.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.