pub async fn serve_host( listener: TcpListener, state: AppState, shutdown: impl Future<Output = ()> + Send + 'static, ) -> Result<()>