var isObject = require('is-object'); // validate inputs, convert types and apply defaults // id generally looks like 'geoname:4163334' (type:id) // so, both type and id are required fields. function sanitize( req ){ req.clean = req.clean || {}; var params = req.query; var indeces = require('../query/indeces'); var delim = ':'; // ensure params is a valid object if( !isObject( params ) ){ params = {}; } var errormessage = function(fieldname, message) { return { 'error': true, 'message': message || ('invalid param \''+ fieldname + '\': text length, must be >0') }; }; if(('string' === typeof params.id && !params.id.length) || params.id === undefined){ return errormessage('id'); } if( params && params.id && params.id.length ){ req.clean.ids = []; params.ids = Array.isArray(params.id) ? params.id : [params.id]; // de-dupe params.ids = params.ids.filter(function(item, pos) { return params.ids.indexOf(item) === pos; }); for (var i=0; i