Struct UriParams
pub struct UriParams { /* private fields */ }http and std only.Expand description
Parameters inserted in Extensions when a path matcher matches a
Request.
Each captured value follows the PathDecoding policy of the pattern that
produced it. Under PathDecoding::PercentDecoded (the default) valid
percent escapes are decoded once. Under PathDecoding::Raw the URI
path’s encoded spelling is preserved. Nested patterns with different
policies can therefore contribute differently encoded values to one
UriParams. PathCase affects comparison only and never changes captured
values.
Implementations§
§impl UriParams
impl UriParams
pub fn get(&self, name: impl AsRef<str>) -> Option<&str>
pub fn get(&self, name: impl AsRef<str>) -> Option<&str>
Return the captured value for name, with raw/decoded spelling
determined by its capturing pattern’s PathDecoding policy.
pub fn get_non_empty(&self, name: impl AsRef<str>) -> Option<&str>
pub fn get_non_empty(&self, name: impl AsRef<str>) -> Option<&str>
Return a non-empty captured value for name, with raw/decoded spelling
determined by its capturing pattern’s PathDecoding policy.
pub fn glob(&self) -> Option<&str>
pub fn glob(&self) -> Option<&str>
Return the anonymous glob capture, including its leading /, with
raw/decoded spelling determined by its capturing pattern’s
PathDecoding policy.
pub fn deserialize<T>(&self) -> Result<T, UriParamsDeserializeError>where
T: DeserializeOwned,
pub fn deserialize<T>(&self) -> Result<T, UriParamsDeserializeError>where
T: DeserializeOwned,
Deserialize the UriParams into a given type.
pub fn extend<I, K, V>(&mut self, iter: I) -> &mut UriParams
pub fn extend<I, K, V>(&mut self, iter: I) -> &mut UriParams
Extend the UriParams with the given iterator.
pub fn iter(&self) -> impl Iterator<Item = (&str, &str)>
pub fn iter(&self) -> impl Iterator<Item = (&str, &str)>
Iterate over captured names and values. Each value’s spelling follows
its capturing pattern’s PathDecoding policy.
Trait Implementations§
impl Extension for UriParams
§impl<K, V> FromIterator<(K, V)> for UriParams
impl<K, V> FromIterator<(K, V)> for UriParams
impl HttpExtension for UriParams
Auto Trait Implementations§
impl Freeze for UriParams
impl RefUnwindSafe for UriParams
impl Send for UriParams
impl Sync for UriParams
impl Unpin for UriParams
impl UnsafeUnpin for UriParams
impl UnwindSafe for UriParams
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