diff --git a/server/src/main.rs b/server/src/main.rs
index e32075a..31c5183 100644
--- a/server/src/main.rs
+++ b/server/src/main.rs
@@ -66,6 +66,12 @@ async fn main_responder(request: Request
) -> Result, hyper:
Ok(response)
}
+
+async fn shutdown_signal() {
+ tokio::signal::ctrl_c()
+ .await
+ .expect("Failed to capture ctrl-c signal");
+}
#[tokio::main]
async fn main() {
dotenv().ok();
@@ -77,4 +83,8 @@ async fn main() {
});
let server = Server::bind(&addr).serve(service);
+ let graceful_shutdown = server.with_graceful_shutdown(shutdown_signal());
+ if let Err(e) = graceful_shutdown.await {
+ eprintln!("Server shutdown error: {}", e);
+ }
}