added version check route

This commit is contained in:
2026-01-14 12:55:51 +01:00
parent b530438c05
commit c27ddba0ff

View File

@@ -1,14 +1,16 @@
use axum::{
Extension,
Json,
Router,
http::{
Method,
Method, StatusCode,
header::{self, CONTENT_TYPE},
},
// middleware,
routing::get, // middleware,
};
use axum::{body::Body, extract::Request, middleware::Next, response::Response};
use clap::Parser;
use serde_json::json;
use std::{net::SocketAddr, path::PathBuf, sync::Arc, time::Duration};
use tower_governor::{GovernorLayer, governor::GovernorConfigBuilder};
use tower_http::{
@@ -69,7 +71,7 @@ async fn main() -> anyhow::Result<()> {
.allow_headers([header::AUTHORIZATION, header::CONTENT_TYPE]);
let governor_conf = GovernorConfigBuilder::default()
.burst_size(15)
.burst_size(20)
.per_millisecond(250)
.finish()
.unwrap();
@@ -95,6 +97,7 @@ async fn main() -> anyhow::Result<()> {
});
let mut app = Router::new()
.route("/version", get(get_version))
.merge(routes::users::routes())
.merge(routes::rooms::routes())
.merge(routes::messages::routes())
@@ -164,3 +167,9 @@ async fn _log_json_body(req: Request, next: Next) -> Response {
next.run(req).await
}
// Public route to get current version
async fn get_version() -> Result<Json<serde_json::Value>, (StatusCode, String)> {
const VERSION: &str = env!("CARGO_PKG_VERSION");
Ok(Json(json!({ "version": VERSION })))
}