fn wrap_fut<T: Send + 'static>( f: impl Future<Output = Result<T, String>> + Send + 'static, ) -> BoxFuture<'static, Result<T, ResponseError>>