mirror of
https://github.com/Xevion/time-banner.git
synced 2025-12-06 01:16:36 -06:00
feat: add Server header with version
This commit is contained in:
17
src/main.rs
17
src/main.rs
@@ -4,7 +4,7 @@ use crate::routes::{
|
|||||||
absolute_handler, fallback_handler, favicon_handler, implicit_handler, index_handler,
|
absolute_handler, fallback_handler, favicon_handler, implicit_handler, index_handler,
|
||||||
relative_handler,
|
relative_handler,
|
||||||
};
|
};
|
||||||
use axum::{routing::get, Router};
|
use axum::{http::HeaderValue, response::Response, routing::get, Router};
|
||||||
use config::Configuration;
|
use config::Configuration;
|
||||||
use dotenvy::dotenv;
|
use dotenvy::dotenv;
|
||||||
|
|
||||||
@@ -41,7 +41,8 @@ async fn main() {
|
|||||||
.route("/relative/{path}", get(relative_handler))
|
.route("/relative/{path}", get(relative_handler))
|
||||||
.route("/absolute/{path}", get(absolute_handler))
|
.route("/absolute/{path}", get(absolute_handler))
|
||||||
.route("/abs/{path}", get(absolute_handler))
|
.route("/abs/{path}", get(absolute_handler))
|
||||||
.fallback(fallback_handler);
|
.fallback(fallback_handler)
|
||||||
|
.layer(axum::middleware::map_response(add_server_header));
|
||||||
|
|
||||||
let addr = SocketAddr::from((config.socket_addr(), config.port));
|
let addr = SocketAddr::from((config.socket_addr(), config.port));
|
||||||
axum::serve(
|
axum::serve(
|
||||||
@@ -51,3 +52,15 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Middleware to add server header with application version
|
||||||
|
async fn add_server_header(mut response: Response) -> Response {
|
||||||
|
let version = env!("CARGO_PKG_VERSION");
|
||||||
|
let server_header = format!("time-banner/{}", version);
|
||||||
|
|
||||||
|
if let Ok(header_value) = HeaderValue::from_str(&server_header) {
|
||||||
|
response.headers_mut().insert("Server", header_value);
|
||||||
|
}
|
||||||
|
|
||||||
|
response
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user