Struct deltalake::storage::object_store::ClientOptions
source · pub struct ClientOptions { /* private fields */ }
Expand description
HTTP client configuration for remote object stores
Implementations§
source§impl ClientOptions
impl ClientOptions
sourcepub fn new() -> ClientOptions
pub fn new() -> ClientOptions
Create a new ClientOptions
with default values
sourcepub fn with_config(
self,
key: ClientConfigKey,
value: impl Into<String>
) -> ClientOptions
pub fn with_config( self, key: ClientConfigKey, value: impl Into<String> ) -> ClientOptions
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) -> ClientOptions
pub fn with_user_agent(self, agent: HeaderValue) -> ClientOptions
Sets the User-Agent header to be used by this client
Default is based on the version of this crate
sourcepub fn with_default_content_type(self, mime: impl Into<String>) -> ClientOptions
pub fn with_default_content_type(self, mime: impl Into<String>) -> ClientOptions
Set the default CONTENT_TYPE for uploads
sourcepub fn with_content_type_for_suffix(
self,
extension: impl Into<String>,
mime: impl Into<String>
) -> ClientOptions
pub fn with_content_type_for_suffix( self, extension: impl Into<String>, mime: impl Into<String> ) -> ClientOptions
Set the CONTENT_TYPE for a given file extension
sourcepub fn with_default_headers(self, headers: HeaderMap) -> ClientOptions
pub fn with_default_headers(self, headers: HeaderMap) -> ClientOptions
Sets the default headers for every request
sourcepub fn with_allow_http(self, allow_http: bool) -> ClientOptions
pub fn with_allow_http(self, allow_http: bool) -> ClientOptions
Sets what protocol is allowed. If allow_http
is :
- false (default): Only HTTPS are allowed
- true: HTTP and HTTPS are allowed
sourcepub fn with_allow_invalid_certificates(
self,
allow_insecure: bool
) -> ClientOptions
pub fn with_allow_invalid_certificates( self, allow_insecure: bool ) -> ClientOptions
Allows connections to invalid SSL certificates
- false (default): Only valid HTTPS certificates are allowed
- true: 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) -> ClientOptions
pub fn with_http1_only(self) -> ClientOptions
Only use http1 connections
This is on by default, since http2 is known to be significantly slower than http1.
sourcepub fn with_http2_only(self) -> ClientOptions
pub fn with_http2_only(self) -> ClientOptions
Only use http2 connections
sourcepub fn with_allow_http2(self) -> ClientOptions
pub fn with_allow_http2(self) -> ClientOptions
Use http2 if supported, otherwise use http1.
sourcepub fn with_proxy_url(self, proxy_url: impl Into<String>) -> ClientOptions
pub fn with_proxy_url(self, proxy_url: impl Into<String>) -> ClientOptions
Set a proxy URL to use for requests
sourcepub fn with_proxy_ca_certificate(
self,
proxy_ca_certificate: impl Into<String>
) -> ClientOptions
pub fn with_proxy_ca_certificate( self, proxy_ca_certificate: impl Into<String> ) -> ClientOptions
Set a trusted proxy CA certificate
sourcepub fn with_proxy_excludes(
self,
proxy_excludes: impl Into<String>
) -> ClientOptions
pub fn with_proxy_excludes( self, proxy_excludes: impl Into<String> ) -> ClientOptions
Set a list of hosts to exclude from proxy connections
sourcepub fn with_timeout(self, timeout: Duration) -> ClientOptions
pub fn with_timeout(self, timeout: Duration) -> ClientOptions
Set a request timeout
The timeout is applied from when the request starts connecting until the response body has finished
Default is 5 seconds
sourcepub fn with_timeout_disabled(self) -> ClientOptions
pub fn with_timeout_disabled(self) -> ClientOptions
Disables the request timeout
sourcepub fn with_connect_timeout(self, timeout: Duration) -> ClientOptions
pub fn with_connect_timeout(self, timeout: Duration) -> ClientOptions
Set a timeout for only the connect phase of a Client
Default is 5 seconds
sourcepub fn with_connect_timeout_disabled(self) -> ClientOptions
pub fn with_connect_timeout_disabled(self) -> ClientOptions
Disables the connection timeout
sourcepub fn with_pool_idle_timeout(self, timeout: Duration) -> ClientOptions
pub fn with_pool_idle_timeout(self, timeout: Duration) -> ClientOptions
Set the pool max idle timeout
This is the length of time an idle connection will be kept alive
Default is 90 seconds
sourcepub fn with_pool_max_idle_per_host(self, max: usize) -> ClientOptions
pub fn with_pool_max_idle_per_host(self, max: usize) -> ClientOptions
Set the maximum number of idle connections per host
Default is no limit
sourcepub fn with_http2_keep_alive_interval(self, interval: Duration) -> ClientOptions
pub fn with_http2_keep_alive_interval(self, interval: Duration) -> ClientOptions
Sets an interval for HTTP2 Ping frames should be sent to keep a connection alive.
Default is disabled
sourcepub fn with_http2_keep_alive_timeout(self, interval: Duration) -> ClientOptions
pub fn with_http2_keep_alive_timeout(self, interval: Duration) -> ClientOptions
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
sourcepub fn with_http2_keep_alive_while_idle(self) -> ClientOptions
pub fn with_http2_keep_alive_while_idle(self) -> ClientOptions
Enable HTTP2 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
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
source§impl Default for ClientOptions
impl Default for ClientOptions
source§fn default() -> ClientOptions
fn default() -> 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 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> 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