var check = require('check-types'); function sanitize( req, sanitizers, cb ){ // init an object to store clean // (sanitized) input parameters req.clean = {}; // init erros and warnings arrays req.errors = []; req.warnings = []; // source of input parameters // (in this case from the GET querystring params) var params = req.query || {}; for (var s in sanitizers) { var sanity = sanitizers[s]( params, req.clean ); // if errors occurred then set them // on the req object. if( sanity.errors.length ){ req.errors = req.errors.concat( sanity.errors ); } // if warnings occurred then set them // on the req object. if( sanity.warnings.length ){ req.warnings = req.warnings.concat( sanity.warnings ); } } // @todo remove these args, they do not need to be passed out return cb( undefined, req.clean ); } // export function module.exports = sanitize;