github.com/cloudcredo/cloudrocker@v0.0.0-20160108110610-1320f8cc2dfd/sample-apps/node/node_modules/express/lib/middleware/query.js (about)

     1  /**
     2   * Module dependencies.
     3   */
     4  
     5  var parseUrl = require('parseurl');
     6  var qs = require('qs');
     7  
     8  /**
     9   * @param {Object} options
    10   * @return {Function}
    11   * @api public
    12   */
    13  
    14  module.exports = function query(options) {
    15    var queryparse = qs.parse;
    16  
    17    if (typeof options === 'function') {
    18      queryparse = options;
    19      options = undefined;
    20    }
    21  
    22    return function query(req, res, next){
    23      if (!req.query) {
    24        var val = parseUrl(req).query;
    25        req.query = queryparse(val, options);
    26      }
    27  
    28      next();
    29    };
    30  };