Struct aws_smithy_client::hyper_ext::Builder
source · pub struct Builder { /* private fields */ }
Expand description
Builder for hyper_ext::Adapter
Unlike a Smithy client, the Service
inside a hyper_ext::Adapter
is actually a service that
accepts a Uri
and returns a TCP stream. Two default implementations of this are provided, one
that encrypts the stream with rustls
, the other that encrypts the stream with native-tls
.
Examples
Construct a HyperAdapter with the default HTTP implementation (rustls). This can be useful when you want to share a Hyper connector between multiple Smithy clients.
use tower::layer::util::Identity;
use aws_smithy_client::{conns, hyper_ext};
use aws_smithy_client::erase::DynConnector;
let hyper_connector = hyper_ext::Adapter::builder().build(conns::https());
// this client can then be used when constructing a Smithy Client
// Replace `Identity` with your middleware implementation:
let client = aws_smithy_client::Client::<DynConnector, Identity>::new(DynConnector::new(hyper_connector));
Implementations§
source§impl Builder
impl Builder
sourcepub fn build<C>(self, connector: C) -> Adapter<C>where
C: Clone + Send + Sync + 'static + Service<Uri>,
C::Response: Connection + AsyncRead + AsyncWrite + Send + Unpin + 'static,
C::Future: Unpin + Send + 'static,
C::Error: Into<BoxError>,
pub fn build<C>(self, connector: C) -> Adapter<C>where C: Clone + Send + Sync + 'static + Service<Uri>, C::Response: Connection + AsyncRead + AsyncWrite + Send + Unpin + 'static, C::Future: Unpin + Send + 'static, C::Error: Into<BoxError>,
Create a HyperAdapter from this builder and a given connector
sourcepub fn sleep_impl(self, sleep_impl: Arc<dyn AsyncSleep + 'static>) -> Self
pub fn sleep_impl(self, sleep_impl: Arc<dyn AsyncSleep + 'static>) -> Self
Set the async sleep implementation used for timeouts
Calling this is only necessary for testing or to use something other than
default_async_sleep
.
sourcepub fn set_sleep_impl(
&mut self,
sleep_impl: Option<Arc<dyn AsyncSleep + 'static>>
) -> &mut Self
pub fn set_sleep_impl( &mut self, sleep_impl: Option<Arc<dyn AsyncSleep + 'static>> ) -> &mut Self
Set the async sleep implementation used for timeouts
Calling this is only necessary for testing or to use something other than
default_async_sleep
.
sourcepub fn connector_settings(self, connector_settings: ConnectorSettings) -> Self
pub fn connector_settings(self, connector_settings: ConnectorSettings) -> Self
Configure the HTTP settings for the HyperAdapter
sourcepub fn set_connector_settings(
&mut self,
connector_settings: Option<ConnectorSettings>
) -> &mut Self
pub fn set_connector_settings( &mut self, connector_settings: Option<ConnectorSettings> ) -> &mut Self
Configure the HTTP settings for the HyperAdapter
sourcepub fn hyper_builder(self, hyper_builder: Builder) -> Self
pub fn hyper_builder(self, hyper_builder: Builder) -> Self
Override the Hyper client Builder
used to construct this client.
This enables changing settings like forcing HTTP2 and modifying other default client behavior.