diff --git a/userspace/ksud/src/server.rs b/userspace/ksud/src/server.rs index 1bd04f01..0f2994dc 100644 --- a/userspace/ksud/src/server.rs +++ b/userspace/ksud/src/server.rs @@ -7,7 +7,13 @@ use tower_http::services::ServeDir; use crate::defs; async fn serve(dir: impl AsRef, port: u16) { - let app = Router::new().nest_service("/", ServeDir::new(dir)); + let app = Router::new().nest_service("/", ServeDir::new(dir)).route( + "/stop", + axum::routing::get(|| async { + log::info!("stopping server"); + std::process::exit(0); + }), + ); let addr = SocketAddr::from(([127, 0, 0, 1], port)); let listener = tokio::net::TcpListener::bind(addr).await.unwrap(); axum::serve(listener, app).await.unwrap();