Struct PathMatcher
pub struct PathMatcher { /* private fields */ }Available on crate feature
http only.Expand description
Matcher based on the URI path.
Implementations§
§impl PathMatcher
impl PathMatcher
pub fn new(path: impl AsRef<str>) -> PathMatcher
pub fn new(path: impl AsRef<str>) -> PathMatcher
Create a new PathMatcher for the given path.
pub fn new_prefix(path: impl AsRef<str>) -> PathMatcher
pub fn new_prefix(path: impl AsRef<str>) -> PathMatcher
Create a new PathMatcher for the given prefix.
pub fn new_literal(path: impl AsRef<str>) -> PathMatcher
pub fn new_literal(path: impl AsRef<str>) -> PathMatcher
Create a new PathMatcher for the given literal.
Useful constructor in case you want to create a literal
with special characters given Self::new would interpret
something like /* as a glob, while you might require a literal *…
pub fn fragment_count(&self) -> usize
pub fn try_remove_literal_prefix(
self,
allow_glob: bool,
) -> Result<(Arc<str>, Option<PathMatcher>), PathMatcher>
pub fn try_remove_literal_prefix( self, allow_glob: bool, ) -> Result<(Arc<str>, Option<PathMatcher>), PathMatcher>
Try to remove the literals that prefix other fragments. This can be useful for routers which want to first match on a literal, and do the rest as a normal prefix.
Err is returned with the original data in case it doesn’t contain literal prefixes.
pub fn matches_path( &self, ext: Option<&mut Extensions>, path: impl AsRef<str>, ) -> bool
Trait Implementations§
§impl Clone for PathMatcher
impl Clone for PathMatcher
§fn clone(&self) -> PathMatcher
fn clone(&self) -> PathMatcher
Returns a duplicate of the value. Read more
1.0.0 · 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 PathMatcher
impl Debug for PathMatcher
§impl<Body> Matcher<Request<Body>> for PathMatcher
impl<Body> Matcher<Request<Body>> for PathMatcher
§fn matches(&self, ext: Option<&mut Extensions>, req: &Request<Body>) -> bool
fn matches(&self, ext: Option<&mut Extensions>, req: &Request<Body>) -> bool
returns true on a match, false otherwise Read more
§fn or<M>(self, other: M) -> impl Matcher<Request>
fn or<M>(self, other: M) -> impl Matcher<Request>
Provide an alternative matcher to match if the current one does not match.
Auto Trait Implementations§
impl Freeze for PathMatcher
impl RefUnwindSafe for PathMatcher
impl Send for PathMatcher
impl Sync for PathMatcher
impl Unpin for PathMatcher
impl UnwindSafe for PathMatcher
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
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> 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