Expand description
Asynchronous HTTP requests with rate limiting, connection reuse, and bounded responses.
§Architecture
HttpClient applies quota policy before delegating requests to InnerHttpClient. The inner
client owns one reusable [reqwest::Client], preserving its connection pool across requests and
clones.
§Rate limiting and requests
Requests can await default and per-key quotas from one or more shared
RateLimiter instances. Sharing a limiter across clients
enforces one process-wide budget for scopes such as an IP address or account. The client accepts
default and per-request headers, repeated query values, raw bodies, client-level and per-request
timeouts, and an optional proxy.
HTTP status errors remain HttpResponse values for adapter-specific handling. The client does
not retry requests automatically; adapters can apply crate::retry::RetryManager when the
operation and venue error are safe to retry.
§Connection and response policy
The underlying client enables TCP_NODELAY, pooled idle connections, HTTP/2 keepalive while
idle, and adaptive HTTP/2 flow control. Responses retain only configured header fields and reject
bodies larger than 100 MiB, including chunked bodies without a declared length. The redacted
request path removes credential-bearing URLs from transport errors and logs.
reqwest owns the lifecycle of individual pooled connections, so this client exposes no socket
state sink or explicit reconnect operation. Callers observe connection failure through each
request result and retain the client to preserve its pool.
Re-exports§
pub use client::HttpClient;pub use client::HttpRedirectPolicy;pub use client::InnerHttpClient;pub use error::HttpClientError;pub use types::HttpMethod;pub use types::HttpResponse;pub use types::HttpStatus;
Modules§
- client
- HTTP client implementation with rate limiting and timeout support.
- error
- HTTP client error types.
- types
- HTTP types including status codes, methods, and responses.
Structs§
- Method
- The Request Method (VERB)
- Reqwest
Error - The Errors that may occur when processing a
Request. - Response
- A Response to a submitted
Request. - Status
Code - An HTTP status code (
status-codein RFC 9110 et al.). - Url
- A parsed URL record.
Constants§
- USER_
AGENT - Contains a string that allows identifying the requesting client’s software.