#[non_exhaustive]pub enum TlsVersion {
Tls12,
Tls13,
}Expand description
TLS building blocks shared with other transport crates (e.g. the upstream
proxy engine) so every outbound ClientConfig goes through the same
provider selection and FIPS hardening.
TLS building blocks shared with other transport crates (e.g. the upstream
proxy engine) so every outbound ClientConfig goes through the same
provider selection and FIPS hardening.
TLS building blocks shared with other transport crates (e.g. the upstream
proxy engine) so every outbound ClientConfig goes through the same
provider selection and FIPS hardening.
Minimum TLS protocol version the client will negotiate.
Maps onto the rustls protocol-version slice passed to
ClientConfig::builder_with_provider(..).with_protocol_versions(..):
TlsVersion::Tls12advertises both TLS 1.2 and TLS 1.3 (the historicalwith_safe_default_protocol_versions()behaviour).TlsVersion::Tls13advertises TLS 1.3 only.
This is a user knob; it does not relax FIPS hardening. Under
--features fips, tls::apply_fips_hardening still asserts
ClientConfig::fips(), so a version selection incompatible with the active
FIPS provider surfaces as a crate::error::HttpError::Tls at build time.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Tls12
Allow TLS 1.2 and TLS 1.3 (default — matches rustls safe defaults).
Tls13
Require TLS 1.3; reject TLS 1.2 handshakes.
Trait Implementations§
Source§impl Clone for TlsVersion
impl Clone for TlsVersion
impl Copy for TlsVersion
Source§impl Debug for TlsVersion
impl Debug for TlsVersion
Source§impl Default for TlsVersion
impl Default for TlsVersion
impl Eq for TlsVersion
Source§impl PartialEq for TlsVersion
impl PartialEq for TlsVersion
impl StructuralPartialEq for TlsVersion
Auto Trait Implementations§
impl Freeze for TlsVersion
impl RefUnwindSafe for TlsVersion
impl Send for TlsVersion
impl Sync for TlsVersion
impl Unpin for TlsVersion
impl UnsafeUnpin for TlsVersion
impl UnwindSafe for TlsVersion
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
Source§fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
Source§fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Source§fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
x-request-id as the header name. Read moreSource§fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
Source§fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
x-request-id as the header name. Read moreSource§fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
500 Internal Server responses. Read moreSource§fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
413 Payload Too Large responses. Read more