1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
use std::marker::PhantomData;
use tower::Layer;
use super::Exc;
/// Exc layer.
pub struct ExcLayer<Req> {
_req: PhantomData<fn() -> Req>,
}
impl<Req> Default for ExcLayer<Req> {
fn default() -> Self {
Self { _req: PhantomData }
}
}
impl<S, Req> Layer<S> for ExcLayer<Req> {
type Service = Exc<S, Req>;
fn layer(&self, inner: S) -> Self::Service {
Exc::new(inner)
}
}