var type_mapping = require('../helper/type_mapping'); var sanitizeAll = require('../sanitizer/sanitizeAll'); // middleware module.exports.middleware = (_api_pelias_config) => { var sanitizers = { singleScalarParameters: require('../sanitizer/_single_scalar_parameters')(), debug: require('../sanitizer/_debug')(), quattroshapes_deprecation: require('../sanitizer/_deprecate_quattroshapes')(), synthesize_analysis: require('../sanitizer/_synthesize_analysis')(), iso2_to_iso3: require('../sanitizer/_iso2_to_iso3')(), city_name_standardizer: require('../sanitizer/_city_name_standardizer')(), size: require('../sanitizer/_size')(/* use defaults*/), layers: require('../sanitizer/_targets')('layers', type_mapping.layer_mapping), sources: require('../sanitizer/_targets')('sources', type_mapping.source_mapping), // depends on the layers and sources sanitizers, must be run after them sources_and_layers: require('../sanitizer/_sources_and_layers')(), private: require('../sanitizer/_flag_bool')('private', false), location_bias: require('../sanitizer/_location_bias')(_api_pelias_config.defaultParameters), geo_search: require('../sanitizer/_geo_search')(), boundary_country: require('../sanitizer/_boundary_country')(), categories: require('../sanitizer/_categories')() }; return ( req, res, next ) => { sanitizeAll.runAllChecks(req, sanitizers); next(); }; };