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 { dioxus::server::serve(|| async move {
use dioxus::server::{axum, DioxusRouterExt, ServeConfig}; use dioxus::server::{axum, DioxusRouterExt, ServeConfig};
use tower_http::trace::TraceLayer; use tower_http::trace::TraceLayer;
use tracing::Level;
tokio::spawn(async { tokio::spawn(async {
tasks::session_cleanup::run_cleanup().await; tasks::session_cleanup::run_cleanup().await;
}); });
let config = ServeConfig::builder() let config = ServeConfig::builder().incremental(
.incremental( dioxus::server::IncrementalRendererConfig::default()
dioxus::server::IncrementalRendererConfig::default() .invalidate_after(std::time::Duration::from_secs(300)),
.invalidate_after(std::time::Duration::from_secs(300)), );
); let api_routes = axum::Router::new().route(
let api_routes = axum::Router::new() "/api/upload",
.route( axum::routing::post(crate::api::upload::upload_image)
"/api/upload", .layer(axum::extract::DefaultBodyLimit::disable()),
axum::routing::post(crate::api::upload::upload_image) );
.layer(axum::extract::DefaultBodyLimit::disable()),
);
let static_routes = axum::Router::new() let static_routes = axum::Router::new().route(
.route("/uploads/{*path}", axum::routing::get(crate::api::image::serve_image)); "/uploads/{*path}",
axum::routing::get(crate::api::image::serve_image),
);
let dioxus_app = axum::Router::new() let dioxus_app =
.serve_dioxus_application(config, router::AppRouter); axum::Router::new().serve_dioxus_application(config, router::AppRouter);
let router = api_routes let router = api_routes
.merge(static_routes) .merge(static_routes)
.merge(dioxus_app) .merge(dioxus_app)
.layer( .layer(TraceLayer::new_for_http());
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),
),
);
Ok(router) Ok(router)
}); });