I'm trying to create an authentication mechanism for my app by checking cookies. So I added the router.all('*')
to match every request, check the cookie, and then go to the actual handler. But I need it to only match requests which have one or more characters after '/'. (I want to match /manage
, /m
or /about
, but not /
).
//Assuming a request for '/', this gets called first
router.all('*', function (request, response, next) {
//Stuff happening
next();
});
//This gets called on next(), which I do not want
router.get('/', function (request, response) {
//Stuff happening
});
//However this I do want to be matched when requested and therefore called after router.all()
router.post('/about', function (request, response) {
//Stuff happening
});
According to the answers here you can use regex for path matching but then I don't really understand what '*'
is. It might match everything, but it doesn't look like regex to me.
- Why does
'*'
match/
? - What argument do I need to suplly to
all()
to match/about
but not/
?