Struct HttpMatcher
pub struct HttpMatcher<Body> { /* private fields */ }
Expand description
A matcher that is used to match an http Request
Implementations§
§impl<Body> HttpMatcher<Body>
impl<Body> HttpMatcher<Body>
pub fn method(method: MethodMatcher) -> HttpMatcher<Body>
pub fn method(method: MethodMatcher) -> HttpMatcher<Body>
Create a new matcher that matches one or more HTTP methods.
See MethodMatcher
for more information.
pub fn and_method(self, method: MethodMatcher) -> HttpMatcher<Body>
pub fn and_method(self, method: MethodMatcher) -> HttpMatcher<Body>
Create a matcher that also matches one or more HTTP methods on top of the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn or_method(self, method: MethodMatcher) -> HttpMatcher<Body>
pub fn or_method(self, method: MethodMatcher) -> HttpMatcher<Body>
Create a matcher that can also match one or more HTTP methods as an alternative to the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn method_delete() -> HttpMatcher<Body>
pub fn method_delete() -> HttpMatcher<Body>
Create a new matcher that matches MethodMatcher::DELETE
requests.
See MethodMatcher
for more information.
pub fn and_method_delete(self) -> HttpMatcher<Body>
pub fn and_method_delete(self) -> HttpMatcher<Body>
Add a new matcher that also matches MethodMatcher::DELETE
on top of the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn or_method_delete(self) -> HttpMatcher<Body>
pub fn or_method_delete(self) -> HttpMatcher<Body>
Add a new matcher that can also match MethodMatcher::DELETE
as an alternative tothe existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn method_get() -> HttpMatcher<Body>
pub fn method_get() -> HttpMatcher<Body>
Create a new matcher that matches MethodMatcher::GET
requests.
See MethodMatcher
for more information.
pub fn and_method_get(self) -> HttpMatcher<Body>
pub fn and_method_get(self) -> HttpMatcher<Body>
Add a new matcher that also matches MethodMatcher::GET
on top of the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn or_method_get(self) -> HttpMatcher<Body>
pub fn or_method_get(self) -> HttpMatcher<Body>
Add a new matcher that can also match MethodMatcher::GET
as an alternative tothe existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn method_head() -> HttpMatcher<Body>
pub fn method_head() -> HttpMatcher<Body>
Create a new matcher that matches MethodMatcher::HEAD
requests.
See MethodMatcher
for more information.
pub fn and_method_head(self) -> HttpMatcher<Body>
pub fn and_method_head(self) -> HttpMatcher<Body>
Add a new matcher that also matches MethodMatcher::HEAD
on top of the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn or_method_head(self) -> HttpMatcher<Body>
pub fn or_method_head(self) -> HttpMatcher<Body>
Add a new matcher that can also match MethodMatcher::HEAD
as an alternative tothe existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn method_options() -> HttpMatcher<Body>
pub fn method_options() -> HttpMatcher<Body>
Create a new matcher that matches MethodMatcher::OPTIONS
requests.
See MethodMatcher
for more information.
pub fn and_method_options(self) -> HttpMatcher<Body>
pub fn and_method_options(self) -> HttpMatcher<Body>
Add a new matcher that also matches MethodMatcher::OPTIONS
on top of the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn or_method_options(self) -> HttpMatcher<Body>
pub fn or_method_options(self) -> HttpMatcher<Body>
Add a new matcher that can also match MethodMatcher::OPTIONS
as an alternative tothe existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn method_patch() -> HttpMatcher<Body>
pub fn method_patch() -> HttpMatcher<Body>
Create a new matcher that matches MethodMatcher::PATCH
requests.
See MethodMatcher
for more information.
pub fn and_method_patch(self) -> HttpMatcher<Body>
pub fn and_method_patch(self) -> HttpMatcher<Body>
Add a new matcher that also matches MethodMatcher::PATCH
on top of the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn or_method_patch(self) -> HttpMatcher<Body>
pub fn or_method_patch(self) -> HttpMatcher<Body>
Add a new matcher that can also match MethodMatcher::PATCH
as an alternative tothe existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn method_post() -> HttpMatcher<Body>
pub fn method_post() -> HttpMatcher<Body>
Create a new matcher that matches MethodMatcher::POST
requests.
See MethodMatcher
for more information.
pub fn and_method_post(self) -> HttpMatcher<Body>
pub fn and_method_post(self) -> HttpMatcher<Body>
Add a new matcher that also matches MethodMatcher::POST
on top of the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn or_method_post(self) -> HttpMatcher<Body>
pub fn or_method_post(self) -> HttpMatcher<Body>
Add a new matcher that can also match MethodMatcher::POST
as an alternative tothe existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn method_put() -> HttpMatcher<Body>
pub fn method_put() -> HttpMatcher<Body>
Create a new matcher that matches MethodMatcher::PUT
requests.
See MethodMatcher
for more information.
pub fn and_method_put(self) -> HttpMatcher<Body>
pub fn and_method_put(self) -> HttpMatcher<Body>
Add a new matcher that also matches MethodMatcher::PUT
on top of the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn or_method_put(self) -> HttpMatcher<Body>
pub fn or_method_put(self) -> HttpMatcher<Body>
Add a new matcher that can also match MethodMatcher::PUT
as an alternative tothe existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn method_trace() -> HttpMatcher<Body>
pub fn method_trace() -> HttpMatcher<Body>
Create a new matcher that matches MethodMatcher::TRACE
requests.
See MethodMatcher
for more information.
pub fn and_method_trace(self) -> HttpMatcher<Body>
pub fn and_method_trace(self) -> HttpMatcher<Body>
Add a new matcher that also matches MethodMatcher::TRACE
on top of the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn or_method_trace(self) -> HttpMatcher<Body>
pub fn or_method_trace(self) -> HttpMatcher<Body>
Add a new matcher that can also match MethodMatcher::TRACE
as an alternative tothe existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn method_connect() -> HttpMatcher<Body>
pub fn method_connect() -> HttpMatcher<Body>
Create a new matcher that matches MethodMatcher::CONNECT
requests.
See MethodMatcher
for more information.
pub fn and_method_connect(self) -> HttpMatcher<Body>
pub fn and_method_connect(self) -> HttpMatcher<Body>
Add a new matcher that also matches MethodMatcher::CONNECT
on top of the existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn or_method_connect(self) -> HttpMatcher<Body>
pub fn or_method_connect(self) -> HttpMatcher<Body>
Add a new matcher that can also match MethodMatcher::CONNECT
as an alternative tothe existing HttpMatcher
matchers.
See MethodMatcher
for more information.
pub fn domain(domain: Domain) -> HttpMatcher<Body>
pub fn domain(domain: Domain) -> HttpMatcher<Body>
Create a DomainMatcher
matcher, matching on the exact given Domain
.
pub fn subdomain(domain: Domain) -> HttpMatcher<Body>
pub fn subdomain(domain: Domain) -> HttpMatcher<Body>
Create a DomainMatcher
matcher, matching on the exact given Domain
or a subdomain of it.
pub fn and_domain(self, domain: Domain) -> HttpMatcher<Body>
pub fn and_domain(self, domain: Domain) -> HttpMatcher<Body>
Create a DomainMatcher
matcher to also match on top of the existing set of HttpMatcher
matchers.
See Self::domain
for more information.
pub fn and_subdomain(self, domain: Domain) -> HttpMatcher<Body>
pub fn and_subdomain(self, domain: Domain) -> HttpMatcher<Body>
Create a sub DomainMatcher
matcher to also match on top of the existing set of HttpMatcher
matchers.
See Self::subdomain
for more information.
pub fn or_domain(self, domain: Domain) -> HttpMatcher<Body>
pub fn or_domain(self, domain: Domain) -> HttpMatcher<Body>
Create a DomainMatcher
matcher to match as an alternative to the existing set of HttpMatcher
matchers.
See Self::domain
for more information.
pub fn or_subdomain(self, domain: Domain) -> HttpMatcher<Body>
pub fn or_subdomain(self, domain: Domain) -> HttpMatcher<Body>
Create a sub DomainMatcher
matcher to match as an alternative to the existing set of HttpMatcher
matchers.
See Self::subdomain
for more information.
pub fn version(version: VersionMatcher) -> HttpMatcher<Body>
pub fn version(version: VersionMatcher) -> HttpMatcher<Body>
Create a VersionMatcher
matcher.
pub fn and_version(self, version: VersionMatcher) -> HttpMatcher<Body>
pub fn and_version(self, version: VersionMatcher) -> HttpMatcher<Body>
Add a VersionMatcher
matcher to matcher on top of the existing set of HttpMatcher
matchers.
See VersionMatcher
for more information.
pub fn or_version(self, version: VersionMatcher) -> HttpMatcher<Body>
pub fn or_version(self, version: VersionMatcher) -> HttpMatcher<Body>
Create a VersionMatcher
matcher to match as an alternative to the existing set of HttpMatcher
matchers.
See VersionMatcher
for more information.
pub fn uri(re: impl AsRef<str>) -> HttpMatcher<Body>
pub fn uri(re: impl AsRef<str>) -> HttpMatcher<Body>
Create a UriMatcher
matcher.
pub fn and_uri(self, re: impl AsRef<str>) -> HttpMatcher<Body>
pub fn and_uri(self, re: impl AsRef<str>) -> HttpMatcher<Body>
Create a UriMatcher
matcher to match on top of the existing set of HttpMatcher
matchers.
See UriMatcher
for more information.
pub fn or_uri(self, re: impl AsRef<str>) -> HttpMatcher<Body>
pub fn or_uri(self, re: impl AsRef<str>) -> HttpMatcher<Body>
Create a UriMatcher
matcher to match as an alternative to the existing set of HttpMatcher
matchers.
See UriMatcher
for more information.
pub fn path(path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn path(path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher.
pub fn and_path(self, path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn and_path(self, path: impl AsRef<str>) -> HttpMatcher<Body>
Add a PathMatcher
to match on top of the existing set of HttpMatcher
matchers.
See PathMatcher
for more information.
pub fn or_path(self, path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn or_path(self, path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher to match as an alternative to the existing set of HttpMatcher
matchers.
See PathMatcher
for more information.
pub fn header(name: HeaderName, value: HeaderValue) -> HttpMatcher<Body>
pub fn header(name: HeaderName, value: HeaderValue) -> HttpMatcher<Body>
Create a HeaderMatcher
matcher.
pub fn and_header(
self,
name: HeaderName,
value: HeaderValue,
) -> HttpMatcher<Body>
pub fn and_header( self, name: HeaderName, value: HeaderValue, ) -> HttpMatcher<Body>
Add a HeaderMatcher
to match on top of the existing set of HttpMatcher
matchers.
See HeaderMatcher
for more information.
pub fn or_header(
self,
name: HeaderName,
value: HeaderValue,
) -> HttpMatcher<Body>
pub fn or_header( self, name: HeaderName, value: HeaderValue, ) -> HttpMatcher<Body>
Create a HeaderMatcher
matcher to match as an alternative to the existing set of HttpMatcher
matchers.
See HeaderMatcher
for more information.
pub fn header_exists(name: HeaderName) -> HttpMatcher<Body>
pub fn header_exists(name: HeaderName) -> HttpMatcher<Body>
Create a HeaderMatcher
matcher when the given header exists
to match on the existence of a header.
pub fn and_header_exists(self, name: HeaderName) -> HttpMatcher<Body>
pub fn and_header_exists(self, name: HeaderName) -> HttpMatcher<Body>
Add a HeaderMatcher
to match when the given header exists
on top of the existing set of HttpMatcher
matchers.
See HeaderMatcher
for more information.
pub fn or_header_exists(self, name: HeaderName) -> HttpMatcher<Body>
pub fn or_header_exists(self, name: HeaderName) -> HttpMatcher<Body>
Create a HeaderMatcher
matcher to match when the given header exists
as an alternative to the existing set of HttpMatcher
matchers.
See HeaderMatcher
for more information.
pub fn header_contains(
name: HeaderName,
value: HeaderValue,
) -> HttpMatcher<Body>
pub fn header_contains( name: HeaderName, value: HeaderValue, ) -> HttpMatcher<Body>
Create a HeaderMatcher
matcher to match on it containing the given value.
pub fn and_header_contains(
self,
name: HeaderName,
value: HeaderValue,
) -> HttpMatcher<Body>
pub fn and_header_contains( self, name: HeaderName, value: HeaderValue, ) -> HttpMatcher<Body>
Add a HeaderMatcher
to match when it contains the given value
on top of the existing set of HttpMatcher
matchers.
See HeaderMatcher
for more information.
pub fn or_header_contains(
self,
name: HeaderName,
value: HeaderValue,
) -> HttpMatcher<Body>
pub fn or_header_contains( self, name: HeaderName, value: HeaderValue, ) -> HttpMatcher<Body>
Create a HeaderMatcher
matcher to match if it contains the given value
as an alternative to the existing set of HttpMatcher
matchers.
See HeaderMatcher
for more information.
pub fn socket(socket: SocketMatcher<Request<Body>>) -> HttpMatcher<Body>
pub fn socket(socket: SocketMatcher<Request<Body>>) -> HttpMatcher<Body>
Create a SocketMatcher
matcher.
pub fn and_socket(
self,
socket: SocketMatcher<Request<Body>>,
) -> HttpMatcher<Body>
pub fn and_socket( self, socket: SocketMatcher<Request<Body>>, ) -> HttpMatcher<Body>
Add a SocketMatcher
matcher to match on top of the existing set of HttpMatcher
matchers.
See SocketMatcher
for more information.
pub fn or_socket(
self,
socket: SocketMatcher<Request<Body>>,
) -> HttpMatcher<Body>
pub fn or_socket( self, socket: SocketMatcher<Request<Body>>, ) -> HttpMatcher<Body>
Create a SocketMatcher
matcher to match as an alternative to the existing set of HttpMatcher
matchers.
See SocketMatcher
for more information.
pub fn get(path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn get(path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher to match for a GET request.
pub fn custom<M>(matcher: M) -> HttpMatcher<Body>
pub fn custom<M>(matcher: M) -> HttpMatcher<Body>
Create a matcher that matches according to a custom predicate.
See rama_core::matcher::Matcher
for more information.
pub fn and_custom<M>(self, matcher: M) -> HttpMatcher<Body>
pub fn and_custom<M>(self, matcher: M) -> HttpMatcher<Body>
Add a custom matcher to match on top of the existing set of HttpMatcher
matchers.
See rama_core::matcher::Matcher
for more information.
pub fn or_custom<M>(self, matcher: M) -> HttpMatcher<Body>
pub fn or_custom<M>(self, matcher: M) -> HttpMatcher<Body>
Create a custom matcher to match as an alternative to the existing set of HttpMatcher
matchers.
See rama_core::matcher::Matcher
for more information.
pub fn any_subdomain<I, S>(domains: I) -> HttpMatcher<Body>
pub fn any_subdomain<I, S>(domains: I) -> HttpMatcher<Body>
Create a SubdomainTrieMatcher
matcher that matches if the request domain is a subdomain of the provided domains.
See SubdomainTrieMatcher
for more information.
pub fn and_any_subdomain<I, S>(self, domains: I) -> HttpMatcher<Body>
pub fn and_any_subdomain<I, S>(self, domains: I) -> HttpMatcher<Body>
Add a SubdomainTrieMatcher
matcher that matches if the request domain is a subdomain of the provided domains on top of the existing set of HttpMatcher
matchers.
See SubdomainTrieMatcher
for more information.
pub fn or_any_subdomain<I, S>(self, domains: I) -> HttpMatcher<Body>
pub fn or_any_subdomain<I, S>(self, domains: I) -> HttpMatcher<Body>
Create a SubdomainTrieMatcher
matcher that matches if the request domain is a subdomain of the provided domains as an alternative to the existing set of HttpMatcher
matchers.
See SubdomainTrieMatcher
for more information.
pub fn post(path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn post(path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher to match for a POST request.
pub fn put(path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn put(path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher to match for a PUT request.
pub fn delete(path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn delete(path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher to match for a DELETE request.
pub fn patch(path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn patch(path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher to match for a PATCH request.
pub fn head(path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn head(path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher to match for a HEAD request.
pub fn options(path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn options(path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher to match for a OPTIONS request.
pub fn trace(path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn trace(path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher to match for a TRACE request.
pub fn connect(path: impl AsRef<str>) -> HttpMatcher<Body>
pub fn connect(path: impl AsRef<str>) -> HttpMatcher<Body>
Create a PathMatcher
matcher to match for a CONNECT request.
pub fn and(self, matcher: HttpMatcher<Body>) -> HttpMatcher<Body>
pub fn and(self, matcher: HttpMatcher<Body>) -> HttpMatcher<Body>
Add a HttpMatcher
to match on top of the existing set of HttpMatcher
matchers.
pub fn or(self, matcher: HttpMatcher<Body>) -> HttpMatcher<Body>
pub fn or(self, matcher: HttpMatcher<Body>) -> HttpMatcher<Body>
Create a HttpMatcher
matcher to match
as an alternative to the existing set of HttpMatcher
matchers.
pub fn negate(self) -> HttpMatcher<Body>
pub fn negate(self) -> HttpMatcher<Body>
Negate the current matcher
Trait Implementations§
§impl<Body> Clone for HttpMatcher<Body>
impl<Body> Clone for HttpMatcher<Body>
§fn clone(&self) -> HttpMatcher<Body>
fn clone(&self) -> HttpMatcher<Body>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl<Body> Debug for HttpMatcher<Body>
impl<Body> Debug for HttpMatcher<Body>
§impl<Body> Matcher<Request<Body>> for HttpMatcher<Body>where
Body: Send + 'static,
impl<Body> Matcher<Request<Body>> for HttpMatcher<Body>where
Body: Send + 'static,
§fn matches(
&self,
ext: Option<&mut Extensions>,
ctx: &Context,
req: &Request<Body>,
) -> bool
fn matches( &self, ext: Option<&mut Extensions>, ctx: &Context, req: &Request<Body>, ) -> bool
§fn or<M>(self, other: M) -> impl Matcher<Request>
fn or<M>(self, other: M) -> impl Matcher<Request>
Auto Trait Implementations§
impl<Body> !Freeze for HttpMatcher<Body>
impl<Body> !RefUnwindSafe for HttpMatcher<Body>
impl<Body> Send for HttpMatcher<Body>
impl<Body> Sync for HttpMatcher<Body>
impl<Body> Unpin for HttpMatcher<Body>
impl<Body> !UnwindSafe for HttpMatcher<Body>
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
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> 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