use actix_codec::Framed; use actix_service::{Service, ServiceFactory}; use futures_core::future::LocalBoxFuture; use crate::{h1::Codec, Error, Request}; pub struct UpgradeHandler; impl ServiceFactory<(Request, Framed)> for UpgradeHandler { type Response = (); type Error = Error; type Config = (); type Service = UpgradeHandler; type InitError = Error; type Future = LocalBoxFuture<'static, Result>; fn new_service(&self, _: ()) -> Self::Future { unimplemented!() } } impl Service<(Request, Framed)> for UpgradeHandler { type Response = (); type Error = Error; type Future = LocalBoxFuture<'static, Result>; actix_service::always_ready!(); fn call(&self, _: (Request, Framed)) -> Self::Future { unimplemented!() } }