-
Notifications
You must be signed in to change notification settings - Fork 203
Open
Description
Bug Report
Version
tower-http v0.4.4
Platform
All
Description
This function redirects paths that don't end with /
and is a directory to the URI with /
appended
async fn maybe_redirect_or_append_path( |
However it does not take into account where the service could be nested, therefore producing an invalid redirect.
Example directory:
src/
├ main.rs
└ hello/
└ index.html
main.rs:
use axum::{Router, Server};
use tower_http::services::ServeDir;
#[tokio::main]
async fn main() {
tracing_subscriber::fmt::init();
let serve_dir = ServeDir::new("src");
let router = Router::new().nest_service("/src", serve_dir);
let addr = "0.0.0.0:3000".parse().unwrap();
Server::bind(&addr)
.serve(router.into_make_service())
.await
.unwrap();
}
Going to localhost:3000/src/hello
to see the issue
Expected: Redirects to localhost:3000/src/hello/
and returns content at src/hello/index.html
Actual: Redirects to localhost:3000/hello/
and returns Not Found
mTsBucy1
Metadata
Metadata
Assignees
Labels
No labels