Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unexpected behaviour in example static-file-server #2809

Open
1 task done
tobx opened this issue Jun 28, 2024 · 2 comments
Open
1 task done

Unexpected behaviour in example static-file-server #2809

tobx opened this issue Jun 28, 2024 · 2 comments

Comments

@tobx
Copy link

tobx commented Jun 28, 2024

  • I have looked for existing issues (including closed) about this

Bug Report

Version

0.7.5

Description

Unexpected behaviour in example static-file-server, function using_serve_dir_with_assets_fallback():

It serves assets (in this case script.js) from the url /assets/script.js, but unexpectedly also from /script.js, because the whole assets folder is used as fallback instead of just the index.html file.

I expected to see this happen:
url /script.js should fallback to index.html

Instead, this happened:
url /script.js responded with script.js

@jplatte
Copy link
Member

jplatte commented Sep 28, 2024

Why did you expect this? I think the examples could certainly be better explained, but I'm not really sure about the original intent behind that example.

@tobx
Copy link
Author

tobx commented Sep 30, 2024

Why did you expect this? I think the examples could certainly be better explained, but I'm not really sure about the original intent behind that example.

Yes, I think my description was not very clear. Let me try again:

Typically when you serve static files from a folder like assets, you do that in order to "namespace" URLs (e.g. /api/, /assets/ or /posts/). So, if you have an image like background.jpg in a static folder and serve it with /assets/background.jpg you do NOT want it to be also served at the root level with /background.jpg.

The issue is, that in the example the whole assets folder is set as a fallback service instead of just the index.html file. It is not a big deal and now it is easy for me to see, but when I started with axum, it took me quite a while to understand what is going on and why my files are served from both URLs (/ and /assets/).

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

No branches or pull requests

2 participants