reqkit
Production-focused client-side HTTP requester built on hyper + rustls.
Features
- HTTPS-only client
- HTTP/2 preferred (HTTP/1.1 fallback)
- Connection pooling
- Single IO timeout (request + full body download)
- Hard body caps (download + decoded output)
- Content decoding: gzip, deflate, br
- Convenience helpers (feature flags)
Example
use reqkit::{HttpClient, HttpRequest, HeaderMap, Method};
#[tokio::main]
async fn main() -> Result<(), reqkit::HttpError> {
let client = HttpClient::new_https("api.example.com")?;
let req = HttpRequest::empty(Method::GET, "/v1/ping", HeaderMap::new());
let (status, _headers, body) = client.send_bytes_decoded(req).await?;
println!("status={status} len={}", body.len());
Ok(())
}