sneedstr/src/usernames/filter.rs
Tony Klink f7b74bd22c
Implemented feature:
- NIP-42 Can be enabled in nix module or as environment variable 'CONFIG_ENABLE_AUTH'
 - NIP-05 Still WIP, but building up slowly
2024-02-08 19:19:03 -06:00

24 lines
837 B
Rust

use crate::utils::error::Error;
use validator::Validate;
use warp::{Filter, Rejection};
pub fn validate_body_filter<T: serde::de::DeserializeOwned + Send + Validate + 'static>(
) -> impl Filter<Extract = (T,), Error = Rejection> + Copy {
warp::body::json::<T>().and_then(|query: T| async move {
match query.validate() {
Ok(_) => Ok(query),
Err(e) => Err(warp::reject::custom(Error::validation_error(e))),
}
})
}
pub fn validate_query_filter<T: serde::de::DeserializeOwned + Send + Validate + 'static>(
) -> impl Filter<Extract = (T,), Error = Rejection> + Copy {
warp::query::query::<T>().and_then(|query: T| async move {
match query.validate() {
Ok(_) => Ok(query),
Err(e) => Err(warp::reject::custom(Error::validation_error(e))),
}
})
}