diff --git a/smart-house-web/backend/src/server.rs b/smart-house-web/backend/src/server.rs index 7b67ac5..257414f 100644 --- a/smart-house-web/backend/src/server.rs +++ b/smart-house-web/backend/src/server.rs @@ -23,26 +23,28 @@ pub fn run_server() { exit(crate::CODE_TOKIO_RUNTIME_CREATION_ERROR); } }; - runtime.block_on(async { - let app = axum::Router::new().fallback(fallback); - let addr = "127.0.0.1:8080"; - let listener = match tokio::net::TcpListener::bind(addr).await { - Ok(listener) => listener, - Err(e) => { - error!("Failed to bind listener to {}: {:?}", addr, e); - exit(crate::CODE_LISTENER_BINDING_ERROR); - } - }; - info!("Starting server at {}...", addr); - if let Err(e) = axum::serve(listener, app) - .with_graceful_shutdown(shutdown_signal()) - .await - { - error!("Failed to start server: {:?}", e); - exit(crate::CODE_STARTIG_SERVER_ERROR); - }; - info!("Shutdown server"); - }); + runtime.block_on(server_main()); +} + +async fn server_main() { + let app = axum::Router::new().fallback(fallback); + let addr = "127.0.0.1:8080"; + let listener = match tokio::net::TcpListener::bind(addr).await { + Ok(listener) => listener, + Err(e) => { + error!("Failed to bind listener to {}: {:?}", addr, e); + exit(crate::CODE_LISTENER_BINDING_ERROR); + } + }; + info!("Starting server at {}...", addr); + if let Err(e) = axum::serve(listener, app) + .with_graceful_shutdown(shutdown_signal()) + .await + { + error!("Failed to start server: {:?}", e); + exit(crate::CODE_STARTIG_SERVER_ERROR); + }; + info!("Shutdown server"); } async fn fallback() -> axum::response::Response {