async fn run_server_with_app<App>(
    app: App,
    listen_addr: SocketAddr,
    tls_config: Option<Tls>,
    shutdown_signal: impl Future<Output = ()> + Send + 'static
)where
    App: Filter<Error = Rejection> + Clone + Send + Sync + 'static,
    App::Extract: Reply,