tiny-sigma/core/src/main.rs
2025-11-15 10:52:37 +01:00

43 lines
1.1 KiB
Rust

use std::process::exit;
#[allow(unused)]
use log::{info, debug, warn, error, trace};
use sigma::error::Error;
mod tiny;
const PORT: u16 = 3000;
const BIND: &str = "0.0.0.0";
#[tokio::main]
async fn main() {
tracing_subscriber::fmt()
.with_max_level(tracing::Level::TRACE)
.with_ansi(true)
.init();
info!("Starting TinySigma...");
let app = tiny::router();
debug!("Loaded app routes");
let interface = format!("{BIND}:{PORT}");
debug!("Trying to listen on {}", &interface);
let listener = match tokio::net::TcpListener::bind(&interface).await {
Ok(listener) => {
info!("Listening on {}", &interface);
listener
},
Err(e) => {
error!("{e:?}");
error!("Could not listen on {}", &interface);
exit(Error::TcpBindFailed as i32)
},
};
info!("Starting Axum app server");
if let Err(e) = axum::serve(listener, app).await {
error!("{e}");
error!("Axum app halted unexpectedly");
exit(Error::AxumAppExited as i32)
}
}