Is it possible to rewrite the URL path using node.js?(I'm also using Express 3.0)
I've tried something like this:
req.url = 'foo';
But the url continues the same
Is it possible to rewrite the URL path using node.js?(I'm also using Express 3.0)
I've tried something like this:
req.url = 'foo';
But the url continues the same
Sure, just add a middleware function to modify it. For example:
app.use(function(req, res, next) {
  if (req.url.slice(-1) === '/') {
    req.url = req.url.slice(0, -1);
  }
  next();
});
This function removes the trailing slash from all incoming request URLs. Note that in order for this to work, you will need to place it before the call to app.use(app.router).
A good idea should be to update the path too. My method suggestions:
app.use(function(req, res, next) {
    console.log("request", req.originalUrl);
    const removeOnRoutes = '/not-wanted-route-part';
    req.originalUrl = req.originalUrl.replace(removeOnRoutes,'');
    req.path = req.path.replace(removeOnRoutes,'');
    return next();
});
By this way /not-wanted-route-part/users will became /users
you need override some properties of req (IncomingMessage in NodeJs):
2
function changeUrl(req, url) {
    const parsedUrl = new URL(url);
    req.url = url;
    req.originalUrl = url;
    req.path = parsedUrl.pathname;
    req.search = parsedUrl.search;
    req._parsedUrl = parsedUrl;
    const query = {};
    for(const entry of parsedUrl.searchParams) {
        query[entry[0]] = entry[1];
    }
    req.query = query;
}