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}