refactor: simplify TraceLayer setup and reformat route definitions
This commit is contained in:
parent
035d11e39b
commit
7d9c4b9e0f
42
src/main.rs
42
src/main.rs
@ -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)
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user