mirror of https://github.com/pelias/api.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
792 B
41 lines
792 B
var isObject = require('is-object'); |
|
|
|
// validate inputs, convert types and apply defaults |
|
function sanitize( req, default_value ){ |
|
|
|
var clean = req.clean || {}; |
|
var params= req.query; |
|
|
|
if (default_value === undefined) { |
|
default_value = true; |
|
} |
|
|
|
default_value = !!default_value; |
|
|
|
// ensure the input params are a valid object |
|
if( !isObject( params ) ){ |
|
params = {}; |
|
} |
|
|
|
if (params.details !== undefined) { |
|
clean.details = isTruthy(params.details); |
|
} else { |
|
clean.details = default_value; |
|
} |
|
|
|
req.clean = clean; |
|
|
|
return {'error':false}; |
|
|
|
} |
|
|
|
function isTruthy(val) { |
|
if (typeof val === 'string') { |
|
return ['true', '1', 'yes', 'y'].indexOf(val) !== -1; |
|
} |
|
|
|
return val === 1 || val === true; |
|
} |
|
|
|
// export function |
|
module.exports = sanitize;
|
|
|