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.
30 lines
792 B
30 lines
792 B
|
|
var logger = require('../src/logger'), |
|
_sanitize = require('../sanitiser/_sanitize'), |
|
sanitizers = { |
|
input: require('../sanitiser/_input'), |
|
size: require('../sanitiser/_size'), |
|
layers: function( req ) { |
|
req.query.layers = 'admin'; |
|
var layers = require('../sanitiser/_layers'); |
|
return layers(req); |
|
}, |
|
latlonzoom: require('../sanitiser/_geo') |
|
}; |
|
|
|
var sanitize = function(req, cb) { _sanitize(req, sanitizers, cb); }; |
|
|
|
// export sanitize for testing |
|
module.exports.sanitize = sanitize; |
|
|
|
// middleware |
|
module.exports.middleware = function( req, res, next ){ |
|
sanitize( req, function( err, clean ){ |
|
if( err ){ |
|
res.status(400); // 400 Bad Request |
|
return next(err); |
|
} |
|
req.clean = clean; |
|
next(); |
|
}); |
|
}; |