entropic-dev / entropic-dev/ds
Writing an HTTP client for dstopic
- Dominant language
- Rust
- Stars
- 53
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
As part of development on dstopic (the Rust side of the client), we need to have a shiny new http client with certain features:
* http-compliant caching, to cacache
* retry support
* keepalive support
* async/await support
* (optional, unnecessary, low-priority) proxy support
No existing http clients on crates.io currently support all these features (or even most of them), so we need to write one from scratch!
([original thread](https://discourse.entropic.dev/t/writing-an-http-client-for-dstopic/204?u=zkat))
## Blocked by
* [ ] Land [`surf-middleware-cache`](https://github.com/zkat/surf-middleware-cache)
* [ ] Needs [`http-cache-semantics`](https://github.com/non-binary/http-cache-semantics) to land. (https://github.com/entropic-dev/ds/issues/16)
* [ ] Get `surf` 2.0 over the finish line. The planned API changes are gonna be important to implement this client. (https://github.com/http-rs/surf/issues/107)
* [ ] Implement a baseline client API wrapper around `surf`
* [ ] (Optional) Integrate [`backoff`](https://crates.io/crates/backoff) to automatically retry http requests. Maybe this needs to be implemented as a surf middleware?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.