Struct ConnectUdpRequestMatcher
pub struct ConnectUdpRequestMatcher { /* private fields */ }Available on crate feature
masque only.Expand description
Recognises CONNECT-UDP requests for a proxy template and extracts their target.
Implementations§
§impl ConnectUdpRequestMatcher
impl ConnectUdpRequestMatcher
pub fn try_new(
template: Option<&ProxyPathTemplate>,
) -> Result<ConnectUdpRequestMatcher, UriTemplateError>
pub fn try_new( template: Option<&ProxyPathTemplate>, ) -> Result<ConnectUdpRequestMatcher, UriTemplateError>
A matcher for template, or for the RFC 9298 default template when None.
pub fn template(&self) -> &UriTemplate
pub fn template(&self) -> &UriTemplate
The template requests are matched against.
pub fn match_request<B>(
&self,
request: &Request<B>,
) -> Result<ConnectUdpTarget, ConnectUdpRequestError>
pub fn match_request<B>( &self, request: &Request<B>, ) -> Result<ConnectUdpTarget, ConnectUdpRequestError>
Classify a request and extract its target.
ConnectUdpRequestError::NotConnectUdp means the request is something
else and should be routed elsewhere; every other error says how to refuse it
(ConnectUdpRequestError::status).
Trait Implementations§
§impl Clone for ConnectUdpRequestMatcher
impl Clone for ConnectUdpRequestMatcher
§fn clone(&self) -> ConnectUdpRequestMatcher
fn clone(&self) -> ConnectUdpRequestMatcher
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 ConnectUdpRequestMatcher
impl Debug for ConnectUdpRequestMatcher
§impl<B> Matcher<Request<B>> for ConnectUdpRequestMatcherwhere
B: Send + 'static,
Routes every CONNECT-UDP request, malformed or for another template too, so the
proxy answers it (ConnectUdpRequestError::status); everything else passes by.
impl<B> Matcher<Request<B>> for ConnectUdpRequestMatcherwhere
B: Send + 'static,
Routes every CONNECT-UDP request, malformed or for another template too, so the
proxy answers it (ConnectUdpRequestError::status); everything else passes by.
§fn matches(&self, _ext: Option<&Extensions>, request: &Request<B>) -> bool
fn matches(&self, _ext: Option<&Extensions>, request: &Request<B>) -> bool
returns true on a match, false otherwise Read more
§fn or<M>(self, other: M) -> impl Matcher<Input>
fn or<M>(self, other: M) -> impl Matcher<Input>
Provide an alternative matcher to match if the current one does not match.
Auto Trait Implementations§
impl Freeze for ConnectUdpRequestMatcher
impl RefUnwindSafe for ConnectUdpRequestMatcher
impl Send for ConnectUdpRequestMatcher
impl Sync for ConnectUdpRequestMatcher
impl Unpin for ConnectUdpRequestMatcher
impl UnsafeUnpin for ConnectUdpRequestMatcher
impl UnwindSafe for ConnectUdpRequestMatcher
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