Struct ProxyAuthLayer
pub struct ProxyAuthLayer<A, C, L = ()> { /* private fields */ }http and std only.Expand description
Layer that applies the ProxyAuthService middleware which apply a timeout to requests.
See the module docs for an example.
Implementations§
§impl<A, C> ProxyAuthLayer<A, C>
impl<A, C> ProxyAuthLayer<A, C>
pub const fn new(proxy_auth: A) -> ProxyAuthLayer<A, C>
pub const fn new(proxy_auth: A) -> ProxyAuthLayer<A, C>
Creates a new ProxyAuthLayer.
pub fn with_allow_anonymous(self, allow_anonymous: bool) -> ProxyAuthLayer<A, C>
pub fn with_allow_anonymous(self, allow_anonymous: bool) -> ProxyAuthLayer<A, C>
Allow anonymous requests.
pub fn set_allow_anonymous(
&mut self,
allow_anonymous: bool,
) -> &mut ProxyAuthLayer<A, C>
pub fn set_allow_anonymous( &mut self, allow_anonymous: bool, ) -> &mut ProxyAuthLayer<A, C>
Allow anonymous requests.
pub fn with_preserve_header(self, preserve_header: bool) -> ProxyAuthLayer<A, C>
pub fn with_preserve_header(self, preserve_header: bool) -> ProxyAuthLayer<A, C>
Preserve Proxy-Authorization after authenticating the request.
This is disabled by default so credentials addressed to this proxy cannot leak to an inner service or a different upstream proxy.
pub fn set_preserve_header(
&mut self,
preserve_header: bool,
) -> &mut ProxyAuthLayer<A, C>
pub fn set_preserve_header( &mut self, preserve_header: bool, ) -> &mut ProxyAuthLayer<A, C>
Preserve Proxy-Authorization after authenticating the request.
This is disabled by default so credentials addressed to this proxy cannot leak to an inner service or a different upstream proxy.
§impl<A, C, L> ProxyAuthLayer<A, C, L>
impl<A, C, L> ProxyAuthLayer<A, C, L>
pub fn with_labels<L2>(self) -> ProxyAuthLayer<A, C, L2>
pub fn with_labels<L2>(self) -> ProxyAuthLayer<A, C, L2>
Overwrite the Labels extract type
This is used if the username contains labels that you need to extract out.
Example implementation is the UsernameOpaqueLabelParser.
You can provide your own extractor by implementing the UsernameLabelParser trait.
Trait Implementations§
§impl<A, C, L> Clone for ProxyAuthLayer<A, C, L>where
A: Clone,
impl<A, C, L> Clone for ProxyAuthLayer<A, C, L>where
A: Clone,
§fn clone(&self) -> ProxyAuthLayer<A, C, L>
fn clone(&self) -> ProxyAuthLayer<A, C, L>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl<A, C, L> Debug for ProxyAuthLayer<A, C, L>where
A: Debug,
impl<A, C, L> Debug for ProxyAuthLayer<A, C, L>where
A: Debug,
§impl<A, C, L, S> Layer<S> for ProxyAuthLayer<A, C, L>
impl<A, C, L, S> Layer<S> for ProxyAuthLayer<A, C, L>
§type Service = ProxyAuthService<A, C, S, L>
type Service = ProxyAuthService<A, C, S, L>
§fn layer(&self, inner: S) -> <ProxyAuthLayer<A, C, L> as Layer<S>>::Service
fn layer(&self, inner: S) -> <ProxyAuthLayer<A, C, L> as Layer<S>>::Service
§fn into_layer(self, inner: S) -> <ProxyAuthLayer<A, C, L> as Layer<S>>::Service
fn into_layer(self, inner: S) -> <ProxyAuthLayer<A, C, L> as Layer<S>>::Service
layer but consuming self after the service was created. Read moreAuto Trait Implementations§
impl<A, C, L> Freeze for ProxyAuthLayer<A, C, L>
impl<A, C, L> RefUnwindSafe for ProxyAuthLayer<A, C, L>
impl<A, C, L> Send for ProxyAuthLayer<A, C, L>
impl<A, C, L> Sync for ProxyAuthLayer<A, C, L>
impl<A, C, L> Unpin for ProxyAuthLayer<A, C, L>
impl<A, C, L> UnsafeUnpin for ProxyAuthLayer<A, C, L>
impl<A, C, L> UnwindSafe for ProxyAuthLayer<A, C, L>
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<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