feat: update garde to 0.20.0
This commit is contained in:
12
Cargo.toml
12
Cargo.toml
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "axum-valid"
|
||||
version = "0.18.0"
|
||||
version = "0.19.0"
|
||||
description = "Provides validation extractors for your Axum application, allowing you to validate data using validator, garde, validify or all of them."
|
||||
authors = ["GengTeng <me@gteng.org>"]
|
||||
license = "MIT"
|
||||
@@ -26,17 +26,17 @@ features = ["full", "aide"]
|
||||
|
||||
[dependencies]
|
||||
axum = { version = "0.7.3", default-features = false }
|
||||
garde = { version = "0.18.0", optional = true }
|
||||
garde = { version = "0.20.0", optional = true }
|
||||
validator = { version = "0.18.1", optional = true }
|
||||
validify = { version = "1.4.0", optional = true }
|
||||
|
||||
[dependencies.axum-extra]
|
||||
version = "0.9.0"
|
||||
version = "0.9.3"
|
||||
default-features = false
|
||||
optional = true
|
||||
|
||||
[dependencies.axum-serde]
|
||||
version = "0.4.1"
|
||||
version = "0.5.0"
|
||||
optional = true
|
||||
|
||||
[dependencies.axum_typed_multipart]
|
||||
@@ -58,10 +58,10 @@ tokio = { version = "1.34.0", features = ["full"] }
|
||||
reqwest = { version = "0.12.3", features = ["json", "multipart"] }
|
||||
serde = { version = "1.0.195", features = ["derive"] }
|
||||
validator = { version = "0.18.0", features = ["derive"] }
|
||||
garde = { version = "0.18.0", features = ["serde", "derive"] }
|
||||
garde = { version = "0.20.0", features = ["serde", "derive"] }
|
||||
serde_json = "1.0.108"
|
||||
serde_yaml = "0.9.27"
|
||||
quick-xml = { version = "0.31.0", features = ["serialize"] }
|
||||
quick-xml = { version = "0.33.0", features = ["serialize"] }
|
||||
ciborium = { version = "0.2.2" }
|
||||
toml = "0.8.8"
|
||||
mime = "0.3.17"
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
|
||||
## 📑 Overview
|
||||
|
||||
**axum-valid** is a library that provides data validation extractors for the Axum web framework. It integrates *
|
||||
*validator**, **garde** and **validify**, three popular validation crates in the Rust ecosystem, to offer convenient
|
||||
**axum-valid** is a library that provides data validation extractors for the Axum web framework. It integrates
|
||||
**validator**, **garde** and **validify**, three popular validation crates in the Rust ecosystem, to offer convenient
|
||||
validation and data handling extractors for Axum applications.
|
||||
|
||||
## 🚀 Basic usage
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Cbor(parameter)): Garde<Cbor<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Cached(parameter)): Garde<Cached<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! }
|
||||
//!
|
||||
//! #[derive(Validate, Clone)]
|
||||
@@ -223,7 +223,7 @@
|
||||
//! WithRejection<Parameter, ValidWithRejectionRejection>,
|
||||
//! >,
|
||||
//! ) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! }
|
||||
//!
|
||||
//! #[derive(Validate)]
|
||||
@@ -380,7 +380,7 @@
|
||||
//! WithRejectionGardeRejection,
|
||||
//! >,
|
||||
//! ) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! }
|
||||
//!
|
||||
//! #[derive(Validate)]
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Form(parameter)): Garde<Form<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Protobuf(parameter)): Garde<Protobuf<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Query(parameter)): Garde<Query<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(parameter: Garde<Parameter>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! }
|
||||
//!
|
||||
//! #[derive(TypedPath, Deserialize, Validate)]
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Form(parameter)): Garde<Form<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -93,7 +93,7 @@ where
|
||||
.await
|
||||
.map_err(GardeRejection::Inner)?;
|
||||
|
||||
inner.get_validate().validate(&context)?;
|
||||
inner.get_validate().validate_with(&context)?;
|
||||
Ok(Garde(inner))
|
||||
}
|
||||
}
|
||||
@@ -113,7 +113,7 @@ where
|
||||
let inner = Extractor::from_request_parts(parts, state)
|
||||
.await
|
||||
.map_err(GardeRejection::Inner)?;
|
||||
inner.get_validate().validate(&context)?;
|
||||
inner.get_validate().validate_with(&context)?;
|
||||
Ok(Garde(inner))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -541,7 +541,7 @@ fn validate_again<V: Validate>(validate: V, context: V::Context) -> StatusCode {
|
||||
// it should have returned `400 BAD REQUEST` if the `parameters` were invalid,
|
||||
// Let's validate them again to check if the `Garde` extractor works well.
|
||||
// If it works properly, this function will never return `500 INTERNAL SERVER ERROR`
|
||||
match validate.validate(&context) {
|
||||
match validate.validate_with(&context) {
|
||||
Ok(_) => StatusCode::OK,
|
||||
Err(_) => StatusCode::INTERNAL_SERVER_ERROR,
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Json(parameter)): Garde<Json<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -59,11 +59,11 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(MsgPack(parameter)): Garde<MsgPack<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! }
|
||||
//!
|
||||
//! async fn raw_handler(Garde(MsgPackRaw(parameter)): Garde<MsgPackRaw<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! }
|
||||
//! #[derive(Validate, Deserialize)]
|
||||
//! pub struct Parameter {
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Path(parameter)): Garde<Path<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Query(parameter)): Garde<Query<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Sonic(parameter)): Garde<Sonic<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Toml(parameter)): Garde<Toml<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(TypedHeader(parameter)): Garde<TypedHeader<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! }
|
||||
//!
|
||||
//! #[derive(Validate)]
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(TypedMultipart(parameter)): Garde<TypedMultipart<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
@@ -75,7 +75,7 @@
|
||||
//! data: parameter, ..
|
||||
//! }): Garde<BaseMultipart<Parameter, TypedMultipartError>>,
|
||||
//! ) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! }
|
||||
//!
|
||||
//! #[derive(TryFromMultipart, Validate)]
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Xml(parameter)): Garde<Xml<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
//! }
|
||||
//!
|
||||
//! async fn handler(Garde(Yaml(parameter)): Garde<Yaml<Parameter>>) {
|
||||
//! assert!(parameter.validate(&()).is_ok());
|
||||
//! assert!(parameter.validate_with(&()).is_ok());
|
||||
//! // Support automatic dereferencing
|
||||
//! println!("v0 = {}, v1 = {}", parameter.v0, parameter.v1);
|
||||
//! }
|
||||
|
||||
Reference in New Issue
Block a user