Struct chttp::options::Options

source ·
pub struct Options {
    pub redirect_policy: RedirectPolicy,
    pub preferred_http_version: Option<Version>,
    pub timeout: Option<Duration>,
    pub connect_timeout: Duration,
    pub tcp_keepalive: Option<Duration>,
    pub tcp_nodelay: bool,
    pub buffer_size: usize,
    pub auto_referer: bool,
    pub proxy: Option<Uri>,
    pub max_upload_speed: Option<u64>,
    pub max_download_speed: Option<u64>,
}
Expand description

Defines various protocol and connection options.

Fields

redirect_policy: RedirectPolicy

The policy for automatically following server redirects.

The default is to not follow redirects.

preferred_http_version: Option<Version>

A preferred HTTP version the client should attempt to use to communicate to the server with.

This is treated as a suggestion. A different version may be used if the server does not support it or negotiates a different version.

The default value is None (any version).

timeout: Option<Duration>

A timeout for the maximum time allowed for a request-response cycle.

The default value is None (unlimited).

connect_timeout: Duration

A timeout for the initial connection phase.

The default value is 300 seconds.

tcp_keepalive: Option<Duration>

Enable or disable TCP keepalive with a given probe interval.

The default value is None (disabled).

tcp_nodelay: bool

Enable or disable the TCP_NODELAY option.

The default value is false.

buffer_size: usize

Set the max buffer size in bytes to use for reading the response body.

The default value is 8 KiB.

auto_referer: bool

Indicates whether the Referer header should be automatically updated.

proxy: Option<Uri>

A proxy to use for requests.

The proxy protocol is specified by the URI scheme.

  • http: Proxy. Default when no scheme is specified.
  • https: HTTPS Proxy. (Added in 7.52.0 for OpenSSL, GnuTLS and NSS)
  • socks4: SOCKS4 Proxy.
  • socks4a: SOCKS4a Proxy. Proxy resolves URL hostname.
  • socks5: SOCKS5 Proxy.
  • socks5h: SOCKS5 Proxy. Proxy resolves URL hostname.
max_upload_speed: Option<u64>

A maximum upload speed for the request body, in bytes per second.

The default is unlimited.

max_download_speed: Option<u64>

A maximum download speed for the response body, in bytes per second.

The default is unlimited.

Implementations

Sets the #name property.

Sets the #name property.

Sets the #name property.

Sets the #name property.

Sets the #name property.

Sets the #name property.

Sets the #name property.

Sets the #name property.

Sets the #name property.

Sets the #name property.

Sets the #name property.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Create a new options with the default values.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.