Struct ModifyRustlsClientConfig
pub struct ModifyRustlsClientConfig(pub Box<dyn Fn(ClientConfig) -> Result<ClientConfig, Box<dyn Error + Sync + Send>> + Sync + Send>);Available on crate feature
rustls only.Expand description
Escape hatch: take over the final rustls ClientConfig build.
Rama builds the config from the common TlsClientConfig pieces and hands
it to this function. Either tweak the input and return it, or build a fresh
config through the full rustls builder for settings the common pieces cannot
express. An explicit ClientHandshake offer policy is applied afterward.
This backend supports automatic and full offers; required offers are rejected.
For request overrides, pool reuse follows the shared extension owner. Share
its Arc across requests to retain the same hook identity. Its TLS policy
must remain fixed while connections or cached configurations can be reused;
replace the extension owner when captured mutable state changes that policy.
Tuple Fields§
§0: Box<dyn Fn(ClientConfig) -> Result<ClientConfig, Box<dyn Error + Sync + Send>> + Sync + Send>Implementations§
§impl ModifyRustlsClientConfig
impl ModifyRustlsClientConfig
pub fn new<F>(modify: F) -> ModifyRustlsClientConfigwhere
F: Fn(ClientConfig) -> Result<ClientConfig, Box<dyn Error + Sync + Send>> + Send + Sync + 'static,
Trait Implementations§
§impl Debug for ModifyRustlsClientConfig
impl Debug for ModifyRustlsClientConfig
impl Extension for ModifyRustlsClientConfig
impl TlsExtension for ModifyRustlsClientConfig
Auto Trait Implementations§
impl !RefUnwindSafe for ModifyRustlsClientConfig
impl !UnwindSafe for ModifyRustlsClientConfig
impl Freeze for ModifyRustlsClientConfig
impl Send for ModifyRustlsClientConfig
impl Sync for ModifyRustlsClientConfig
impl Unpin for ModifyRustlsClientConfig
impl UnsafeUnpin for ModifyRustlsClientConfig
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§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> ⓘ
Converts
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> ⓘ
Converts
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>
Wrap the input message
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>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more