Enum TlsMitmRelayErrorKind
pub enum TlsMitmRelayErrorKind {
ClientAuth,
Timeout,
Config,
Handshake {
direction: TlsMitmRelayErrorDirection,
classification: HandshakeRelayClassification,
},
TlsServe,
}boring only.Expand description
Kind of TlsMitmRelayError. Pattern-match this to drive
caller-side policy.
Variants§
ClientAuth
A client-authentication policy rejected the flow, failed to configure it, or either ingress peer rejected the other’s certificate. Never a bypass hint.
Timeout
The deadline for the complete relay handshake or authentication policy elapsed.
Config
Our-side setup failure (acceptor build, cert mirroring, keylog open, missing upstream peer cert, …). Always pre-handshake and not attributable to either ingress or egress alone.
Handshake
TLS handshake failure on the ingress or egress side, with a classification of what kind of failure it was.
Fields
direction: TlsMitmRelayErrorDirectionWhich side of the relay the handshake failed on.
classification: HandshakeRelayClassificationWhat kind of handshake failure it was.
TlsServe
Post-handshake serving error from the wrapped inner service. Bidirectional bridge serving — no single direction applies.
Trait Implementations§
§impl Clone for TlsMitmRelayErrorKind
impl Clone for TlsMitmRelayErrorKind
§fn clone(&self) -> TlsMitmRelayErrorKind
fn clone(&self) -> TlsMitmRelayErrorKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for TlsMitmRelayErrorKind
§impl Debug for TlsMitmRelayErrorKind
impl Debug for TlsMitmRelayErrorKind
impl Eq for TlsMitmRelayErrorKind
§impl PartialEq for TlsMitmRelayErrorKind
impl PartialEq for TlsMitmRelayErrorKind
impl StructuralPartialEq for TlsMitmRelayErrorKind
Auto Trait Implementations§
impl Freeze for TlsMitmRelayErrorKind
impl RefUnwindSafe for TlsMitmRelayErrorKind
impl Send for TlsMitmRelayErrorKind
impl Sync for TlsMitmRelayErrorKind
impl Unpin for TlsMitmRelayErrorKind
impl UnsafeUnpin for TlsMitmRelayErrorKind
impl UnwindSafe for TlsMitmRelayErrorKind
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more