use std::future::Future;
use crate::App;
use axum::serve::Listener;
impl App<()> {
pub async fn serve_with_shutdown<L, F>(self, listener: L, signal: F) -> std::io::Result<()>
where
L: Listener,
L::Addr: std::fmt::Debug,
F: Future<Output = ()> + Send + 'static,
{
axum::serve(listener, self.router)
.with_graceful_shutdown(signal)
.await
}
}