aws_smithy_runtime/client/
http.rs1use aws_smithy_runtime_api::client::behavior_version::BehaviorVersion;
6#[cfg(feature = "default-https-client")]
7use aws_smithy_runtime_api::client::http::SharedHttpClient;
8
9pub mod connection_poisoning;
11
12#[deprecated = "Direct HTTP test utility support from `aws-smithy-runtime` crate is deprecated. Please use the `test-util` feature from `aws-smithy-http-client` instead"]
13#[cfg(feature = "test-util")]
14pub mod test_util {
15    #![allow(missing_docs)]
16
17    pub use aws_smithy_http_client::test_util::{
18        legacy_capture_request as capture_request, CaptureRequestHandler, CaptureRequestReceiver,
19    };
20
21    #[cfg(feature = "connector-hyper-0-14-x")]
22    pub mod dvr {
23        pub use aws_smithy_http_client::test_util::dvr::*;
24    }
25
26    pub use aws_smithy_http_client::test_util::{ReplayEvent, StaticReplayClient};
27
28    pub use aws_smithy_http_client::test_util::legacy_infallible::infallible_client_fn;
29
30    pub use aws_smithy_http_client::test_util::NeverClient;
31
32    #[cfg(feature = "connector-hyper-0-14-x")]
33    pub use aws_smithy_http_client::test_util::NeverTcpConnector;
34
35    #[cfg(all(feature = "connector-hyper-0-14-x", feature = "wire-mock"))]
36    #[macro_use]
37    pub mod wire {
38        pub use aws_smithy_http_client::test_util::wire::ev;
39        pub use aws_smithy_http_client::test_util::wire::match_events;
40        pub use aws_smithy_http_client::test_util::wire::matcher;
41        pub use aws_smithy_http_client::test_util::wire::*;
42    }
43}
44
45#[cfg(feature = "connector-hyper-0-14-x")]
50#[deprecated = "hyper 0.14.x connector is deprecated, please use the `aws-smithy-http-client` crate directly instead."]
51pub mod hyper_014 {
52    #[allow(deprecated)]
53    pub use aws_smithy_http_client::hyper_014::*;
54}
55
56pub mod body;
58
59#[derive(Debug, Clone)]
62pub(crate) struct DefaultClientOptions {
63    _behavior_version: BehaviorVersion,
64}
65
66impl Default for DefaultClientOptions {
67    fn default() -> Self {
68        DefaultClientOptions {
69            _behavior_version: BehaviorVersion::latest(),
70        }
71    }
72}
73
74impl DefaultClientOptions {
75    #[allow(unused)]
77    pub(crate) fn with_behavior_version(mut self, behavior_version: BehaviorVersion) -> Self {
78        self._behavior_version = behavior_version;
79        self
80    }
81}
82
83#[cfg(feature = "default-https-client")]
85pub(crate) fn default_https_client(_options: DefaultClientOptions) -> Option<SharedHttpClient> {
86    use aws_smithy_http_client::{tls, Builder};
87    tracing::trace!("creating a new default hyper 1.x client using rustls<aws-lc>");
88    Some(
89        Builder::new()
90            .tls_provider(tls::Provider::Rustls(
91                tls::rustls_provider::CryptoMode::AwsLc,
92            ))
93            .build_https(),
94    )
95}