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 tower::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
sourceimpl Builder
impl Builder
sourcepub fn build<C>(self, connector: C) -> Adapter<C> where
C: Clone + Send + Sync + 'static,
C: 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,
C: 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: impl AsyncSleep + 'static) -> Self
pub fn sleep_impl(self, sleep_impl: impl AsyncSleep + 'static) -> Self
Set the async sleep implementation used for timeouts
Calling this is only necessary for testing or to use something other than
aws_smithy_async::rt::sleep::default_async_sleep
.
sourcepub fn timeout(self, timeout_config: &TimeoutConfig) -> Self
pub fn timeout(self, timeout_config: &TimeoutConfig) -> Self
Configure the timeout for the HyperAdapter
When unset, the underlying adaptor will not use any timeouts.
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.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl !UnwindSafe for Builder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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