Skip to content

fix(services): handle trailing slash#678

Open
Isvane wants to merge 1 commit into
tower-rs:mainfrom
Isvane:fix/trailing_slash
Open

fix(services): handle trailing slash#678
Isvane wants to merge 1 commit into
tower-rs:mainfrom
Isvane:fix/trailing_slash

Conversation

@Isvane
Copy link
Copy Markdown

@Isvane Isvane commented May 12, 2026

Motivation

Hi. This is my first time contributing to global library and I wanted to help out with #654.

The goal here was to make sure that if someone tries to access a file with a trailing slash (like /index.html/), the server doesn't get confused and try to serve it as a file. It should only allow the trailing slash if it’s actually a directory.

Solution

  • In serve_dir/mod.rs, I added a check to see if the requested URI ends with a /.
  • I passed that info into the open_file function.
  • Inside open_file.rs, I added a check: if there’s a trailing slash but the metadata says "this is a file," we return FileNotFound.
  • I added a new test case in tests.rs to make sure requesting /index.html/ now correctly returns a 404.

I'm very open to feedback if there’s a cleaner way to handle this or if I missed any project conventions, please let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant