Spaces:
Build error
Build 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(); | |
| }; | |
| }; | |