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 HttpClient
s.
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: bool
HTTP/1.1 keep-alive
(connection pooling).
Default: true
.
Note: Does nothing on wasm_client
.
tcp_no_delay: bool
TCP 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: usize
Maximum 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
:0
is disallowed and asserts as otherwise it would cause a semaphore deadlock.curl_client
:0
allows 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
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