From 3a8219f86763d940b24d27f91912cfc09f352a46 Mon Sep 17 00:00:00 2001 From: GreyRav Date: Mon, 30 Mar 2026 15:21:24 +0200 Subject: [PATCH] fix : html + css display --- backend/Cargo.lock | 49 +++++++++++++++++++++++++++++++++++++++++++++ backend/Cargo.toml | 1 + backend/src/main.rs | 5 ++++- 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/backend/Cargo.lock b/backend/Cargo.lock index 2115e4f..94b9f06 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -91,6 +91,7 @@ dependencies = [ "axum-server", "serde", "tokio", + "tower-http", "tracing-subscriber", ] @@ -256,6 +257,12 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "http-range-header" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" + [[package]] name = "httparse" version = "1.10.1" @@ -366,6 +373,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "mio" version = "1.2.0" @@ -661,6 +678,32 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower-http" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +dependencies = [ + "bitflags", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "http-range-header", + "httpdate", + "mime", + "mime_guess", + "percent-encoding", + "pin-project-lite", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tower-layer" version = "0.3.3" @@ -719,6 +762,12 @@ dependencies = [ "tracing-log", ] +[[package]] +name = "unicase" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" + [[package]] name = "unicode-ident" version = "1.0.24" diff --git a/backend/Cargo.toml b/backend/Cargo.toml index 8afdf63..a3725bf 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -9,3 +9,4 @@ axum-server = "0.8.0" serde = "1.0.228" tokio = { version = "1.50.0", features = ["full"] } tracing-subscriber = "0.3.23" +tower-http = { version = "0.6", features = ["fs"] } diff --git a/backend/src/main.rs b/backend/src/main.rs index 7158eb2..2467ee7 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -3,10 +3,13 @@ use std::net::SocketAddr; use std::path::Path; use tokio::fs::File; use tokio::io::{self, AsyncReadExt}; +use tower_http::services::ServeDir; #[tokio::main] async fn main() { - let app = Router::new().route("/", get(handler)); + let app = Router::new() + .route("/", get(handler)) + .nest_service("/assets", ServeDir::new("../web/assets")); let addr = SocketAddr::from(([127, 0, 0, 1], 3000)); println!("listening on {}", addr);