1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
use std::io; use std::task::{Context, Poll}; use futures::future::{ok, Ready}; use crate::http::request::Request; use crate::{Service, ServiceFactory}; pub struct ExpectHandler; impl ServiceFactory for ExpectHandler { type Config = (); type Request = Request; type Response = Request; type Error = io::Error; type Service = ExpectHandler; type InitError = io::Error; type Future = Ready<Result<Self::Service, Self::InitError>>; #[inline] fn new_service(&self, _: ()) -> Self::Future { ok(ExpectHandler) } } impl Service for ExpectHandler { type Request = Request; type Response = Request; type Error = io::Error; type Future = Ready<Result<Self::Response, Self::Error>>; #[inline] fn poll_ready(&self, _: &mut Context<'_>) -> Poll<Result<(), Self::Error>> { Poll::Ready(Ok(())) } #[inline] fn call(&self, req: Request) -> Self::Future { ok(req) } }