75 releases
new 0.23.21 | Nov 21, 2024 |
---|---|
0.23.18 | Oct 17, 2024 |
0.23.10 | Jul 14, 2024 |
0.21.3 | Jan 22, 2024 |
0.1.12 | Mar 31, 2022 |
#64 in HTTP client
608 downloads per month
Used in 30 crates
(29 directly)
95KB
2.5K
SLoC
HttpClient
httpclient
is a user-friendly http client in Rust. Where possible, it closely mimics the reqwest
API. Why build a
new http client?
httpclient::{Request, Response}
objects are serde-serializable, which enables record/replay functionality. See the example below to see it in action.httpclient
provides an API for user-extensible middleware. Built-in middleware includes redirect, retry, logging, and record/replay.httpclient
provides a built-inError
type that can return the Http request, which includes the status code, headers, and response body.httpclient
provides convenience methods thatreqwest
does not support. The most important is theIntoFuture
implementation, which awaits both the request and the response body, which simplifies the scenario where you want to return the request body even in error cases.
Oauth2
For Oauth2, use Oauth2Flow
and the Oauth2
middleware from httpclient_oauth2
.
Roadmap
- Hide secrets in Recorder. Hash & Eq checks for requests must respect hidden values.
- Ensure it builds on wasm32-unknown-unknown
- Sanitize "sessid" in json
Dependencies
~6–18MB
~255K SLoC