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.
|
|
/*! * express * Copyright(c) 2009-2013 TJ Holowaychuk * Copyright(c) 2013 Roman Shtylman * Copyright(c) 2014-2015 Douglas Christopher Wilson * MIT Licensed */
'use strict';
/** * 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(); }; };
|