i currently have a running server using nodejs, mongo, express and W2UI for the front end. W2ui requests come in an a record array that has all the parameters record[name]:foo i want to write a middleware that edits requests and changes them before they reach the route.
Asked
Active
Viewed 1.5k times
2 Answers
23
You can create your own middleware to manipulate the request. I've created a middleware that adds current server time to the request like this
var addDate = function(req, res, next) {
req.body.date = new Date();
next();
}
Now, I can use this middleware for all requests like this:
app.use(addDate);
or to a spesific route like this
app.get('/', addDate, function(req, res) {
res.send(req.body);
});
The response from the get request will be
{
"date": "2017-01-31T11:46:37.003Z"
}

R. Gulbrandsen
- 3,648
- 1
- 22
- 35
-2
You can do this in http.js, create a function to modify request in a way you want and then give it in order array like below : -
order: [
'startRequestTimer',
'cookieParser',
'session',
'bodyParser',
'xframe',
'handleBodyParserError',
'**myRequestLogger**',
'compress',
'methodOverride',
// 'poweredBy',
'$custom',
'router',
'ravenRequestHandler',
'ravenErrorHandler',
'www',
'favicon',
'404',
'500'
],
myrequestLogger is a function to log the request here.

Sapna Jindal
- 412
- 3
- 11