rust-http-client
Rust HTTP Client
Treat outbound HTTP as a resource and trust boundary. Reuse a configured client, bound every stage, preserve protocol errors, and make retry, credential, proxy, and destination policy explicit.
Scope and Routing
Use this skill for HTTP/1.1, HTTP/2, optional HTTP/3 support, request construction, connection pools, DNS, proxies, TLS, redirects, retries, streaming, and client-side tests.
Route inbound routers and handlers to rust-web, SSRF and credential policy to rust-web-security, task lifecycle and bulk concurrency to rust-concurrency, telemetry to rust-observability, and raw TCP/UDP or protocol implementation to the later network-protocol skill.
Workflow
1. Define the remote contract
Record base URLs, methods, path and query encoding, headers, authentication, request and response schemas, status semantics, idempotency, body limits, pagination, rate limits, timeout budget, retry policy, proxy and TLS requirements, and supported platforms. Inspect locked dependency versions and enabled features.
2. Build and reuse one configured client
Use reqwest::Client for ordinary application HTTP. Reuse it to retain connection pooling. Use Hyper when lower-level connection, body, or protocol control is a real requirement rather than an optimization guess.