request_pretreat/prefabs/default_value.rs
1use std::{convert::Infallible, marker::PhantomData};
2
3use futures::future::ok;
4
5use crate::Treater;
6
7pub struct DefaultValue<T: Default>(PhantomData<T>);
8
9impl<T: Default> Treater for DefaultValue<T> {
10 type Fut = futures_util::future::Ready<Result<Self::Resp, Self::Err>>;
11
12 type Resp = T;
13
14 type Err = Infallible;
15
16 fn proc(_: &actix_web::HttpRequest, _: &mut actix_web::dev::Payload) -> Self::Fut {
17 ok(T::default())
18 }
19}