Spaces:
Runtime error
Runtime error
/*! | |
* express | |
* Copyright(c) 2009-2013 TJ Holowaychuk | |
* Copyright(c) 2013 Roman Shtylman | |
* Copyright(c) 2014-2015 Douglas Christopher Wilson | |
* MIT Licensed | |
*/ | |
; | |
/** | |
* Module dependencies. | |
*/ | |
var merge = require('utils-merge') | |
var parseUrl = require('parseurl'); | |
var qs = require('qs'); | |
/** | |
* @param {Object} options | |
* @return {Function} | |
* @api public | |
*/ | |
module.exports = function query(options) { | |
var opts = merge({}, options) | |
var queryparse = qs.parse; | |
if (typeof options === 'function') { | |
queryparse = options; | |
opts = undefined; | |
} | |
if (opts !== undefined && opts.allowPrototypes === undefined) { | |
// back-compat for qs module | |
opts.allowPrototypes = true; | |
} | |
return function query(req, res, next){ | |
if (!req.query) { | |
var val = parseUrl(req).query; | |
req.query = queryparse(val, opts); | |
} | |
next(); | |
}; | |
}; | |