Struct aws_smithy_runtime::client::http::hyper_014::HyperConnector
source · pub struct HyperConnector { /* private fields */ }
Available on crate features
client
and connector-hyper-0-14-x
only.Expand description
HttpConnector
that uses hyper_0_14
to make HTTP requests.
This connector also implements socket connect and read timeouts.
Examples
Construct a HyperConnector
with the default TLS implementation (rustls).
This can be useful when you want to share a Hyper connector between multiple
generated Smithy clients.
ⓘ
use aws_smithy_runtime::client::connectors::hyper_connector::{DefaultHttpsTcpConnector, HyperConnector};
let hyper_connector = HyperConnector::builder().build(DefaultHttpsTcpConnector::new());
// This connector can then be given to a generated service Config
let config = my_service_client::Config::builder()
.endpoint_url("http://localhost:1234")
.http_connector(hyper_connector)
.build();
let client = my_service_client::Client::from_conf(config);
Use a Hyper client with WebPKI roots
A use case for where you may want to use the HyperConnector
is when setting Hyper client settings
that aren’t otherwise exposed by the Config
builder interface. Some examples include changing:
- Hyper client settings
- Allowed TLS cipher suites
- Using an alternative TLS connector library (not the default, rustls)
- CA trust root certificates (illustrated using WebPKI below)
ⓘ
use aws_smithy_runtime::client::connectors::hyper_connector::HyperConnector;
let https_connector = hyper_rustls::HttpsConnectorBuilder::new()
.with_webpki_roots()
.https_only()
.enable_http1()
.enable_http2()
.build();
let hyper_connector = HyperConnector::builder().build(https_connector);
// This connector can then be given to a generated service Config
let config = my_service_client::Config::builder()
.endpoint_url("https://example.com")
.http_connector(hyper_connector)
.build();
let client = my_service_client::Client::from_conf(config);
Implementations§
source§impl HyperConnector
impl HyperConnector
sourcepub fn builder() -> HyperConnectorBuilder
pub fn builder() -> HyperConnectorBuilder
Builder for a Hyper connector.
Trait Implementations§
source§impl Debug for HyperConnector
impl Debug for HyperConnector
source§impl HttpConnector for HyperConnector
impl HttpConnector for HyperConnector
source§fn call(&self, request: HttpRequest) -> HttpConnectorFuture
fn call(&self, request: HttpRequest) -> HttpConnectorFuture
Asynchronously converts a request into a response.
Auto Trait Implementations§
impl !RefUnwindSafe for HyperConnector
impl Send for HyperConnector
impl Sync for HyperConnector
impl Unpin for HyperConnector
impl !UnwindSafe for HyperConnector
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
Mutably borrows from an owned value. Read more
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>
Creates a shared type from an unshared type.