refactor: simplify TraceLayer setup and reformat route definitions

This commit is contained in:
xfy 2026-06-09 15:58:18 +08:00
parent 035d11e39b
commit 7d9c4b9e0f

View File

@ -34,43 +34,33 @@ fn main() {
dioxus::server::serve(|| async move {
use dioxus::server::{axum, DioxusRouterExt, ServeConfig};
use tower_http::trace::TraceLayer;
use tracing::Level;
tokio::spawn(async {
tasks::session_cleanup::run_cleanup().await;
});
let config = ServeConfig::builder()
.incremental(
dioxus::server::IncrementalRendererConfig::default()
.invalidate_after(std::time::Duration::from_secs(300)),
);
let api_routes = axum::Router::new()
.route(
"/api/upload",
axum::routing::post(crate::api::upload::upload_image)
.layer(axum::extract::DefaultBodyLimit::disable()),
);
let config = ServeConfig::builder().incremental(
dioxus::server::IncrementalRendererConfig::default()
.invalidate_after(std::time::Duration::from_secs(300)),
);
let api_routes = axum::Router::new().route(
"/api/upload",
axum::routing::post(crate::api::upload::upload_image)
.layer(axum::extract::DefaultBodyLimit::disable()),
);
let static_routes = axum::Router::new()
.route("/uploads/{*path}", axum::routing::get(crate::api::image::serve_image));
let static_routes = axum::Router::new().route(
"/uploads/{*path}",
axum::routing::get(crate::api::image::serve_image),
);
let dioxus_app = axum::Router::new()
.serve_dioxus_application(config, router::AppRouter);
let dioxus_app =
axum::Router::new().serve_dioxus_application(config, router::AppRouter);
let router = api_routes
.merge(static_routes)
.merge(dioxus_app)
.layer(
TraceLayer::new_for_http()
.make_span_with(
tower_http::trace::DefaultMakeSpan::new().level(Level::INFO),
)
.on_request(tower_http::trace::DefaultOnRequest::new().level(Level::INFO))
.on_response(
tower_http::trace::DefaultOnResponse::new().level(Level::INFO),
),
);
.layer(TraceLayer::new_for_http());
Ok(router)
});