pub struct Client { /* private fields */ }Implementations§
Source§impl Client
impl Client
Sourcepub fn new(config: ClientConfig) -> Self
pub fn new(config: ClientConfig) -> Self
Build a client. Invalid proxy settings do not panic: every request then returns
HttpError::InvalidRequest. Use Client::try_new to see the error up front.
Sourcepub fn try_new(config: ClientConfig) -> Result<Self, HttpError>
pub fn try_new(config: ClientConfig) -> Result<Self, HttpError>
Build a client, failing when the proxy settings are invalid.
Sourcepub fn verifier_kind(&self) -> &'static str
pub fn verifier_kind(&self) -> &'static str
Which certificate verifier this client was built with: "platform" (the OS verifier)
or "bundled" (Mozilla roots). It follows ClientConfig::trust.
Sourcepub fn proxy_diagnostic(&self) -> Option<&ProxyDiagnostic>
pub fn proxy_diagnostic(&self) -> Option<&ProxyDiagnostic>
The proxy this client uses, if any, without credentials. See ProxyDiagnostic.
Sourcepub fn first_party(hosts: Vec<String>) -> Self
pub fn first_party(hosts: Vec<String>) -> Self
Client that may reach only hosts (exact match), only over HTTPS; see
ClientConfig::first_party.
pub fn config(&self) -> &ClientConfig
Sourcepub fn send(&self, req: &Request) -> Result<Response, HttpError>
pub fn send(&self, req: &Request) -> Result<Response, HttpError>
Buffered request; non-2xx becomes HttpError::Status.
Sourcepub fn send_any(&self, req: &Request) -> Result<Response, HttpError>
pub fn send_any(&self, req: &Request) -> Result<Response, HttpError>
Buffered request returning any final status (retryable statuses are still retried).
Sourcepub fn send_headers(&self, req: &Request) -> Result<ResponseHead, HttpError>
pub fn send_headers(&self, req: &Request) -> Result<ResponseHead, HttpError>
Status and headers only, for any status, without reading the body. Redirects, retries,
the address policy and cancellation behave as for Client::send_any; the body is
dropped unread, which closes that connection. final_url and hops report where
redirects led.
Sourcepub fn stream_any(&self, req: &Request) -> Result<StreamResponse, HttpError>
pub fn stream_any(&self, req: &Request) -> Result<StreamResponse, HttpError>
Streaming request returning any final status with its headers and streaming body
(retryable statuses are still retried per policy). The caller inspects status and
headers (for example 401 plus www-authenticate) and bounds the body. Timeout and
cancellation behave as for Client::stream.
Sourcepub fn stream(&self, req: &Request) -> Result<StreamResponse, HttpError>
pub fn stream(&self, req: &Request) -> Result<StreamResponse, HttpError>
Streaming request; non-2xx becomes HttpError::Status (use Client::stream_any
to receive such a response with its headers). Retries happen
only before the response headers arrive (never mid-stream). Uses
Request::timeout as the total stream budget when set, otherwise
ClientConfig::stream_timeout.