43 lines
1.1 KiB
Rust
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)
|
|
}
|
|
}
|