Struct http_client::Config
source · [−]#[non_exhaustive]pub struct Config {
pub http_keep_alive: bool,
pub tcp_no_delay: bool,
pub timeout: Option<Duration>,
pub max_connections_per_host: usize,
pub tls_config: Option<Arc<TlsConnector>>,
}Expand description
Configuration for HttpClients.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.http_keep_alive: boolHTTP/1.1 keep-alive (connection pooling).
Default: true.
Note: Does nothing on wasm_client.
tcp_no_delay: boolTCP NO_DELAY.
Default: false.
Note: Does nothing on wasm_client.
timeout: Option<Duration>Connection timeout duration.
Default: Some(Duration::from_secs(60)).
max_connections_per_host: usizeMaximum number of simultaneous connections that this client is allowed to keep open to individual hosts at one time.
Default: 50.
This number is based on a few random benchmarks and see whatever gave decent perf vs resource use in Orogene.
Note: The behavior of this is different depending on the backend in use.
h1_client:0is disallowed and asserts as otherwise it would cause a semaphore deadlock.curl_client:0allows for limitless connections per host.hyper_client: No effect. Hyper does not support such an option.wasm_client: No effect. Web browsers do not support such an option.
tls_config: Option<Arc<TlsConnector>>h1_client only.TLS Configuration (Native TLS)
Implementations
sourceimpl Config
impl Config
sourcepub fn set_http_keep_alive(self, keep_alive: bool) -> Self
pub fn set_http_keep_alive(self, keep_alive: bool) -> Self
Set HTTP/1.1 keep-alive (connection pooling).
sourcepub fn set_tcp_no_delay(self, no_delay: bool) -> Self
pub fn set_tcp_no_delay(self, no_delay: bool) -> Self
Set TCP NO_DELAY.
sourcepub fn set_timeout(self, timeout: Option<Duration>) -> Self
pub fn set_timeout(self, timeout: Option<Duration>) -> Self
Set connection timeout duration.
sourcepub fn set_max_connections_per_host(
self,
max_connections_per_host: usize
) -> Self
pub fn set_max_connections_per_host(
self,
max_connections_per_host: usize
) -> Self
Set the maximum number of simultaneous connections that this client is allowed to keep open to individual hosts at one time.
sourcepub fn set_tls_config(self, tls_config: Option<Arc<TlsConnector>>) -> Self
Available on crate feature h1_client only.
pub fn set_tls_config(self, tls_config: Option<Arc<TlsConnector>>) -> Self
h1_client only.Set TLS Configuration (Native TLS)
Trait Implementations
sourceimpl TryFrom<Config> for IsahcClient
Available on crate feature curl_client only.
impl TryFrom<Config> for IsahcClient
curl_client only.Auto Trait Implementations
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more