Skip to main content

Module http

Module http 

Source
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)
ReqwestError
The Errors that may occur when processing a Request.
Response
A Response to a submitted Request.
StatusCode
An HTTP status code (status-code in RFC 9110 et al.).
Url
A parsed URL record.

Constants§

USER_AGENT
Contains a string that allows identifying the requesting client’s software.