As @MrVinz writes in his answer, policies are a great way to accomplish this. However, altering req.body or req.query isn't recommended, because you might want access to their original values. Instead, you can use req.options.values to provide defaults for blueprint values. For example, to default the name value to a logged-in user's name, you could create a policy similar to:
module.exports = function defaultNamePolicy (req, res, next) {
// Make sure req.options.values is an object, and don't overwrite
// values from prior policies
req.options.values = req.options.values || {};
// If there's a logged in user, default to using their name.
// Otherwise this will be undefined and will have no effect
req.options.values.name = req.session.user && req.session.user.name
return next();
}
The values in req.options.values are used as defaults for the request, so if req.param('name') exists, it will be used instead of req.options.values.name.