pub struct Garde<E>(pub E);Expand description
§Garde data extractor
Garde uses garde to validate data, supporting validation with or without arguments.
If not using arguments, its usage is similar to Valid. However, if your axum router uses a state, you need to implement FromRef<StateType> for ().
If using arguments, you must pass the arguments to Garde extractor via state, meaning implementing FromRef<StateType> for your validation arguments type.
Tuple Fields§
§0: EImplementations§
Source§impl<E> Garde<E>
impl<E> Garde<E>
Sourcepub fn into_inner(self) -> E
pub fn into_inner(self) -> E
Consumes the Garde and returns the validated data within.
This returns the E type which represents the data that has been
successfully validated.
Trait Implementations§
Source§impl<State, Extractor, Context> FromRequest<State> for Garde<Extractor>where
State: Send + Sync,
Context: Send + Sync + FromRef<State>,
Extractor: HasValidate + FromRequest<State>,
<Extractor as HasValidate>::Validate: Validate<Context = Context>,
impl<State, Extractor, Context> FromRequest<State> for Garde<Extractor>where
State: Send + Sync,
Context: Send + Sync + FromRef<State>,
Extractor: HasValidate + FromRequest<State>,
<Extractor as HasValidate>::Validate: Validate<Context = Context>,
Source§type Rejection = ValidationRejection<Report, <Extractor as FromRequest<State>>::Rejection>
type Rejection = ValidationRejection<Report, <Extractor as FromRequest<State>>::Rejection>
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
Source§impl<State, Extractor, Context> FromRequestParts<State> for Garde<Extractor>where
State: Send + Sync,
Context: Send + Sync + FromRef<State>,
Extractor: HasValidate + FromRequestParts<State>,
<Extractor as HasValidate>::Validate: Validate<Context = Context>,
impl<State, Extractor, Context> FromRequestParts<State> for Garde<Extractor>where
State: Send + Sync,
Context: Send + Sync + FromRef<State>,
Extractor: HasValidate + FromRequestParts<State>,
<Extractor as HasValidate>::Validate: Validate<Context = Context>,
Source§type Rejection = ValidationRejection<Report, <Extractor as FromRequestParts<State>>::Rejection>
type Rejection = ValidationRejection<Report, <Extractor as FromRequestParts<State>>::Rejection>
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
Source§impl<T> OperationInput for Garde<T>where
T: OperationInput,
Available on crate feature aide only.
impl<T> OperationInput for Garde<T>where
T: OperationInput,
Available on crate feature
aide only.Source§fn operation_input(ctx: &mut GenContext, operation: &mut Operation)
fn operation_input(ctx: &mut GenContext, operation: &mut Operation)
Modify the operation. Read more
Source§fn inferred_early_responses(
ctx: &mut GenContext,
operation: &mut Operation,
) -> Vec<(Option<u16>, Response)>
fn inferred_early_responses( ctx: &mut GenContext, operation: &mut Operation, ) -> Vec<(Option<u16>, Response)>
Inferred early responses are used to document early returns for
extractors, guards inside handlers. For example these could represent
JSON parsing errors, authentication failures. Read more
Source§impl<T: TypedPath + Display> TypedPath for Garde<T>
Available on crate feature garde only.
impl<T: TypedPath + Display> TypedPath for Garde<T>
Available on crate feature
garde only.Source§fn with_query_params<T>(self, params: T) -> WithQueryParams<Self, T>
fn with_query_params<T>(self, params: T) -> WithQueryParams<Self, T>
Add query parameters to a path. Read more
impl<E: Copy> Copy for Garde<E>
Auto Trait Implementations§
impl<E> Freeze for Garde<E>where
E: Freeze,
impl<E> RefUnwindSafe for Garde<E>where
E: RefUnwindSafe,
impl<E> Send for Garde<E>where
E: Send,
impl<E> Sync for Garde<E>where
E: Sync,
impl<E> Unpin for Garde<E>where
E: Unpin,
impl<E> UnwindSafe for Garde<E>where
E: UnwindSafe,
Blanket Implementations§
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,
Source§impl<S, T> FromRequest<S, ViaParts> for T
impl<S, T> FromRequest<S, ViaParts> for T
Source§type Rejection = <T as FromRequestParts<S>>::Rejection
type Rejection = <T as FromRequestParts<S>>::Rejection
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
Source§fn from_request(
req: Request<Body>,
state: &S,
) -> impl Future<Output = Result<T, <T as FromRequest<S, ViaParts>>::Rejection>>
fn from_request( req: Request<Body>, state: &S, ) -> impl Future<Output = Result<T, <T as FromRequest<S, ViaParts>>::Rejection>>
Perform the extraction.
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 moreSource§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read moreSource§impl<T> ValidateIp for Twhere
T: ToString,
impl<T> ValidateIp for Twhere
T: ToString,
Source§fn validate_ipv4(&self) -> bool
fn validate_ipv4(&self) -> bool
Validates whether the given string is an IP V4
Source§fn validate_ipv6(&self) -> bool
fn validate_ipv6(&self) -> bool
Validates whether the given string is an IP V6
Source§fn validate_ip(&self) -> bool
fn validate_ip(&self) -> bool
Validates whether the given string is an IP