update to 0.5.0

This commit is contained in:
gengteng
2023-08-04 18:50:02 +08:00
parent f3f0171e72
commit d95e04b4d4
19 changed files with 836 additions and 292 deletions

View File

@@ -1,21 +1,37 @@
//! # Implementation of the `HasValidate` trait for the `Query` extractor.
//!
use crate::{HasValidate, ValidRejection};
use axum::extract::rejection::QueryRejection;
use crate::HasValidate;
use axum::extract::Query;
use validator::Validate;
impl<T: Validate> HasValidate for Query<T> {
type Validate = T;
type Rejection = QueryRejection;
fn get_validate(&self) -> &T {
&self.0
}
}
impl From<QueryRejection> for ValidRejection<QueryRejection> {
fn from(value: QueryRejection) -> Self {
Self::Inner(value)
#[cfg(test)]
mod tests {
use crate::tests::{ValidTest, ValidTestParameter};
use axum::extract::Query;
use axum::http::StatusCode;
use reqwest::RequestBuilder;
impl<T: ValidTestParameter> ValidTest for Query<T> {
const ERROR_STATUS_CODE: StatusCode = StatusCode::BAD_REQUEST;
fn set_valid_request(builder: RequestBuilder) -> RequestBuilder {
builder.query(&T::valid())
}
fn set_error_request(builder: RequestBuilder) -> RequestBuilder {
builder.query(T::error())
}
fn set_invalid_request(builder: RequestBuilder) -> RequestBuilder {
builder.query(&T::invalid())
}
}
}