pub async fn run<T: FnMut(Request) -> F, F: Future<Output = Result<Response<Body>, Error>>>( f: T, ) -> Result<(), Error>