pub enum ParamConstraint {
Number,
Alpha,
AlphaNumeric,
Slug,
Uuid,
In(Vec<String>),
Custom(Arc<dyn Fn(&str) -> bool + Sync + Send>),
}Expand description
A restriction on what a route parameter may contain — a closed set of named kinds rather than a regular expression.
Named kinds instead of regexes keeps the crate free of a regex dependency
and, more usefully, makes the common constraints declarative and
impossible to get subtly wrong. ParamConstraint::Custom covers the rest.
Variants§
Number
ASCII digits only.
Alpha
ASCII letters only.
AlphaNumeric
ASCII letters and digits.
Slug
Letters, digits, - and _ — a URL slug.
Uuid
A canonical 8-4-4-4-12 hexadecimal UUID.
In(Vec<String>)
One of a fixed set of values.
Custom(Arc<dyn Fn(&str) -> bool + Sync + Send>)
Any predicate.
Implementations§
Trait Implementations§
Source§impl Clone for ParamConstraint
impl Clone for ParamConstraint
Source§fn clone(&self) -> ParamConstraint
fn clone(&self) -> ParamConstraint
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 moreAuto Trait Implementations§
impl !RefUnwindSafe for ParamConstraint
impl !UnwindSafe for ParamConstraint
impl Freeze for ParamConstraint
impl Send for ParamConstraint
impl Sync for ParamConstraint
impl Unpin for ParamConstraint
impl UnsafeUnpin for ParamConstraint
Blanket Implementations§
impl<T> Actor for T
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,
Source§impl<T> Event for T
impl<T> Event for T
Source§fn event_name() -> &'static strwhere
Self: Sized,
fn event_name() -> &'static strwhere
Self: Sized,
A human-readable name, used by wildcard listeners and log output.
Always the Rust type path; see the trait docs.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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 moreCreates a shared type from an unshared type.