You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
we are encountering an error when we put dots (".") in our route parameters. Is it allowed to do that?
What are the steps to reproduce this issue?
Define a custom Route in Lumberjack, with a Route Parameter
Pass a route paramter which contains a dot
`
Router::get('posts/{id}', function($id) {
});
Call URL
/posts/a.b.c
`
What happens?
Server returns 404
What were you expecting to happen?
Server returns the correct page
What versions of software are you using?
Operating System: Debian Buster
PHP Version: PHP 7.4
Lumberjack Version: 5.0.0
Thank you for your support!
The text was updated successfully, but these errors were encountered:
BartChris
changed the title
Request with a dot (".") inside a Route paramter return a 404 (not found) exception
Request with a dot (".") inside a Route paramter returns a 404 (not found) exception
Feb 26, 2021
BartChris
changed the title
Request with a dot (".") inside a Route paramter returns a 404 (not found) exception
Request with a dot (".") inside a Custom Route paramter returns a 404 (not found) exception
Feb 26, 2021
We were able to fix that by using the following
Router::get('/posts/{id}', 'Controller@showRecord')->where('id', '.*');
but are inspecting wether this might have unintended consequences.
The documentation states:
"By default, all parameters will match against all non / characters. You can make the match more specific by supplying a regular expression:"
This is probably not correct since dots seem to be not allowed witth standard settings.
Edit: We now changed it to
Router::get('posts/{id}', function () {})->where('id', '[a-zA-Z0-9_.-]+');
I've created a Pull Request Rareloop/router#21 on the routing package to implement a fix. If this is not accepted we can update the documentation to make this clearer.
Hi there,
we are encountering an error when we put dots (".") in our route parameters. Is it allowed to do that?
What are the steps to reproduce this issue?
`
Router::get('posts/{id}', function($id) {
});
Call URL
/posts/a.b.c
`
What happens?
Server returns 404
What were you expecting to happen?
Server returns the correct page
What versions of software are you using?
Operating System: Debian Buster
PHP Version: PHP 7.4
Lumberjack Version: 5.0.0
Thank you for your support!
The text was updated successfully, but these errors were encountered: