pub struct ClientOptions { /* private fields */ }Expand description
HTTP client configuration for remote object stores
Implementations§
Source§impl ClientOptions
impl ClientOptions
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new ClientOptions with default values
Sourcepub fn with_config(self, key: ClientConfigKey, value: impl Into<String>) -> Self
pub fn with_config(self, key: ClientConfigKey, value: impl Into<String>) -> Self
Set an option by key
Sourcepub fn get_config_value(&self, key: &ClientConfigKey) -> Option<String>
pub fn get_config_value(&self, key: &ClientConfigKey) -> Option<String>
Get an option by key
Sourcepub fn with_user_agent(self, agent: HeaderValue) -> Self
pub fn with_user_agent(self, agent: HeaderValue) -> Self
Sets the User-Agent header to be used by this client
Default is based on the version of this crate
Sourcepub fn with_root_certificate(self, certificate: Certificate) -> Self
pub fn with_root_certificate(self, certificate: Certificate) -> Self
Add a custom root certificate.
This can be used to connect to a server that has a self-signed certificate for example.
Sourcepub fn with_default_content_type(self, mime: impl Into<String>) -> Self
pub fn with_default_content_type(self, mime: impl Into<String>) -> Self
Set the default Content-Type for uploads
Sourcepub fn with_content_type_for_suffix(
self,
extension: impl Into<String>,
mime: impl Into<String>,
) -> Self
pub fn with_content_type_for_suffix( self, extension: impl Into<String>, mime: impl Into<String>, ) -> Self
Set the Content-Type for a given file extension
Sourcepub fn with_default_headers(self, headers: HeaderMap) -> Self
pub fn with_default_headers(self, headers: HeaderMap) -> Self
Sets the default headers for every request
Sourcepub fn with_allow_http(self, allow_http: bool) -> Self
pub fn with_allow_http(self, allow_http: bool) -> Self
Sets what protocol is allowed.
If allow_http is :
false(default): Only HTTPS is allowedtrue: HTTP and HTTPS are allowed
Sourcepub fn with_allow_invalid_certificates(self, allow_insecure: bool) -> Self
pub fn with_allow_invalid_certificates(self, allow_insecure: bool) -> Self
Allows connections to invalid SSL certificates
If allow_invalid_certificates is :
false(default): Only valid HTTPS certificates are allowedtrue: All HTTPS certificates are allowed
Warning
You should think very carefully before using this method. If invalid certificates are trusted, any certificate for any site will be trusted for use. This includes expired certificates. This introduces significant vulnerabilities, and should only be used as a last resort or for testing
Sourcepub fn with_http1_only(self) -> Self
pub fn with_http1_only(self) -> Self
Only use HTTP/1 connections (default)
§See Also
Self::with_http2_onlyif you only want to use HTTP/2Self::with_allow_http2if you want to use HTTP/1 or HTTP/2
Sourcepub fn with_http2_only(self) -> Self
pub fn with_http2_only(self) -> Self
Only use HTTP/2 connections
§See Also
Self::with_http1_onlyif you only want to use HTTP/1Self::with_allow_http2if you want to use HTTP/1 or HTTP/2
Sourcepub fn with_allow_http2(self) -> Self
pub fn with_allow_http2(self) -> Self
Use HTTP/2 if supported, otherwise use HTTP/1.
§See Also
Self::with_http1_onlyif you only want to use HTTP/1Self::with_http2_onlyif you only want to use HTTP/2
Sourcepub fn with_proxy_url(self, proxy_url: impl Into<String>) -> Self
pub fn with_proxy_url(self, proxy_url: impl Into<String>) -> Self
Set a proxy URL to use for requests
Sourcepub fn with_proxy_ca_certificate(
self,
proxy_ca_certificate: impl Into<String>,
) -> Self
pub fn with_proxy_ca_certificate( self, proxy_ca_certificate: impl Into<String>, ) -> Self
Set a trusted proxy CA certificate
Sourcepub fn with_proxy_excludes(self, proxy_excludes: impl Into<String>) -> Self
pub fn with_proxy_excludes(self, proxy_excludes: impl Into<String>) -> Self
Set a list of hosts to exclude from proxy connections
Sourcepub fn with_timeout(self, timeout: Duration) -> Self
pub fn with_timeout(self, timeout: Duration) -> Self
Set timeout for the overall request
The timeout starts from when the request starts connecting until the response body has finished. If the request does not complete within the timeout, the client returns a timeout error.
Timeout errors are retried, subject to the RetryConfig
Default is 30 seconds
§See Also
Self::with_timeout_disabledto disable the timeoutSelf::with_connect_timeoutto set a timeout for the connect phase
Sourcepub fn with_timeout_disabled(self) -> Self
pub fn with_timeout_disabled(self) -> Self
Sourcepub fn with_connect_timeout(self, timeout: Duration) -> Self
pub fn with_connect_timeout(self, timeout: Duration) -> Self
Set a timeout for only the connect phase of a Client
This is the time allowed for the client to establish a connection and if the connection is not established within this time, the client returns a timeout error.
Timeout errors are retried, subject to the RetryConfig
Default is 5 seconds
§See Also
Self::with_timeoutto set a timeout for the overall requestSelf::with_connect_timeout_disabledto disable the connect timeout
Sourcepub fn with_connect_timeout_disabled(self) -> Self
pub fn with_connect_timeout_disabled(self) -> Self
Sourcepub fn with_pool_idle_timeout(self, timeout: Duration) -> Self
pub fn with_pool_idle_timeout(self, timeout: Duration) -> Self
Set the pool max idle timeout
This is the length of time an idle connection will be kept alive
Default is 90 seconds enforced by reqwest
Sourcepub fn with_pool_max_idle_per_host(self, max: usize) -> Self
pub fn with_pool_max_idle_per_host(self, max: usize) -> Self
Set the maximum number of idle connections per host
Default is no limit enforced by reqwest
Sourcepub fn with_http2_keep_alive_interval(self, interval: Duration) -> Self
pub fn with_http2_keep_alive_interval(self, interval: Duration) -> Self
Sets an interval for HTTP/2 Ping frames should be sent to keep a connection alive.
Default is disabled enforced by reqwest
Sourcepub fn with_http2_keep_alive_timeout(self, interval: Duration) -> Self
pub fn with_http2_keep_alive_timeout(self, interval: Duration) -> Self
Sets a timeout for receiving an acknowledgement of the keep-alive ping.
If the ping is not acknowledged within the timeout, the connection will be closed.
Does nothing if http2_keep_alive_interval is disabled.
Default is disabled enforced by reqwest
Sourcepub fn with_http2_keep_alive_while_idle(self) -> Self
pub fn with_http2_keep_alive_while_idle(self) -> Self
Enable HTTP/2 keep alive pings for idle connections
If disabled, keep-alive pings are only sent while there are open request/response streams. If enabled, pings are also sent when no streams are active
Default is disabled enforced by reqwest
Sourcepub fn with_http2_max_frame_size(self, sz: u32) -> Self
pub fn with_http2_max_frame_size(self, sz: u32) -> Self
Sets the maximum frame size to use for HTTP/2.
Default is currently 16,384 but may change internally to optimize for common uses.
Sourcepub fn get_default_headers(&self) -> Option<&HeaderMap>
pub fn get_default_headers(&self) -> Option<&HeaderMap>
Get the default headers defined through ClientOptions::with_default_headers
Sourcepub fn get_content_type(&self, path: &Path) -> Option<&str>
pub fn get_content_type(&self, path: &Path) -> Option<&str>
Get the mime type for the file in path to be uploaded
Gets the file extension from path, and returns the
mime type if it was defined initially through
ClientOptions::with_content_type_for_suffix
Otherwise, returns the default mime type if it was defined
earlier through ClientOptions::with_default_content_type
Trait Implementations§
Source§impl Clone for ClientOptions
impl Clone for ClientOptions
Source§fn clone(&self) -> ClientOptions
fn clone(&self) -> ClientOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ClientOptions
impl Debug for ClientOptions
Auto Trait Implementations§
impl !Freeze for ClientOptions
impl RefUnwindSafe for ClientOptions
impl Send for ClientOptions
impl Sync for ClientOptions
impl Unpin for ClientOptions
impl UnsafeUnpin for ClientOptions
impl UnwindSafe for ClientOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more