GitHub Contributors Stars Build Status Downloads Crates.io

# 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-in `Error` type that can return the Http request, which includes the status code, headers, and response body. - `httpclient` provides convenience methods that `reqwest` does not support. The most important is the `IntoFuture` 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 - [x] Hide secrets in Recorder. Hash & Eq checks for requests must respect hidden values. - [x] Ensure it builds on wasm32-unknown-unknown - [ ] Sanitize "sessid" in json