Init repo

This commit is contained in:
2025-06-01 15:13:35 +02:00
commit e2769775e5
7 changed files with 757 additions and 0 deletions

52
src/main.rs Normal file
View File

@@ -0,0 +1,52 @@
use axum::{
routing::get,
Router,
};
#[tokio::main]
async fn main() {
let mut args = std::env::args();
let _name = args.next().unwrap();
let mut listen = String::from("[::]:3000");
loop {
let arg = if let Some(arg) = args.next() {
arg
} else {
break;
};
match arg.as_str() {
"--listen" => {
listen = args.next().unwrap();
}
unknown => {
println!("unknown option: {}", unknown);
std::process::exit(1)
}
}
}
let app = Router::new()
.route("/", get(route_index))
.route("/probe", get(route_probe));
let listener = tokio::net::TcpListener::bind(listen).await.unwrap();
println!("Server listening on: http://{}", listener.local_addr().unwrap());
println!("Probe with: http://{}/probe", listener.local_addr().unwrap());
axum::serve(listener, app).await.unwrap();
}
async fn route_index() -> String {
return String::from("Prometheus exporter for checking XMPP server availability");
}
async fn route_probe() -> Result<String, String> {
let mut out = String::new();
out.push_str("hallo welt");
return Ok(out);
}