added version check route
This commit is contained in:
15
src/main.rs
15
src/main.rs
@@ -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 })))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user