Struct UriMatchReplaceOrigin
pub struct UriMatchReplaceOrigin { /* private fields */ }Available on crate feature
net only.Expand description
Replace a URI’s scheme and authority, preserving its path, query and fragment.
Useful for forwarding to a fixed origin. Incoming userinfo is discarded; the replacement authority contains only the configured host and port. The asterisk request-target is left unchanged (no match).
Implementations§
§impl UriMatchReplaceOrigin
impl UriMatchReplaceOrigin
pub fn new(
scheme: Protocol,
address: impl Into<HostWithOptPort>,
) -> UriMatchReplaceOrigin
Available on crate feature std only.
pub fn new( scheme: Protocol, address: impl Into<HostWithOptPort>, ) -> UriMatchReplaceOrigin
std only.Create a rule that replaces the scheme and host/port without userinfo.
Trait Implementations§
§impl Clone for UriMatchReplaceOrigin
impl Clone for UriMatchReplaceOrigin
§fn clone(&self) -> UriMatchReplaceOrigin
fn clone(&self) -> UriMatchReplaceOrigin
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for UriMatchReplaceOrigin
impl Debug for UriMatchReplaceOrigin
§impl UriMatchReplace for UriMatchReplaceOrigin
impl UriMatchReplace for UriMatchReplaceOrigin
§fn match_replace_uri<'a>(
&self,
uri: Cow<'a, Uri>,
) -> Result<Cow<'a, Uri>, UriMatchError<'a>>
fn match_replace_uri<'a>( &self, uri: Cow<'a, Uri>, ) -> Result<Cow<'a, Uri>, UriMatchError<'a>>
Tries to match
uri against the rule’s pattern and, on success,
returns the same Uri or a new reformatted Uri. Read moreAuto Trait Implementations§
impl !Freeze for UriMatchReplaceOrigin
impl RefUnwindSafe for UriMatchReplaceOrigin
impl Send for UriMatchReplaceOrigin
impl Sync for UriMatchReplaceOrigin
impl Unpin for UriMatchReplaceOrigin
impl UnsafeUnpin for UriMatchReplaceOrigin
impl UnwindSafe for UriMatchReplaceOrigin
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
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> ⓘ
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