-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
RoutingContext.normalizedPath should be decoded when used for matching against non encoded path #45775
Comments
As soon as it's confirmed on vert.x, we could fix this by making sure we are decoding the normalizedPath everywhere it's used (in a wrapper method so we can remove this if fixed someday). |
I will provide a fix by decoding after using normalizedPath everywhere it's needed in Quarkus. Like it's done in vertx: |
As the uri decoding library is not public in Vert.x, the plan is:
For the record, PathUtils is also copied across a few extensions already (Quinoa, Qute Web, Roq, Web Bundler) and I noticed the logic to deal with paths is recoded many times in Quarkus core and some other extensions, so it might make sense to have it available in that new module (it's unrelated to this particular issue) |
If you make a URI decoding API, it should deserialise to structures representing the URI. Not to |
Describe the bug
For example, sending a request with encoded chars such as %20 is not working for static files which is not decoding RoutingContext.normalizedPath
Expected behavior
200 with file content
Actual behavior
404 not found (in prod mode)
200 in dev-mode
How to Reproduce?
https://github.com/ia3andy/reproducer-space
there are two tests:
Output of
uname -a
orver
No response
Output of
java -version
No response
Quarkus version or git rev
3.17
Build tool (ie. output of
mvnw --version
orgradlew --version
)No response
The text was updated successfully, but these errors were encountered: