| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 | 
							- /*!
 
-  * body-parser
 
-  * Copyright(c) 2014-2015 Douglas Christopher Wilson
 
-  * MIT Licensed
 
-  */
 
- 'use strict'
 
- /**
 
-  * Module dependencies.
 
-  * @private
 
-  */
 
- var deprecate = require('depd')('body-parser')
 
- /**
 
-  * Cache of loaded parsers.
 
-  * @private
 
-  */
 
- var parsers = Object.create(null)
 
- /**
 
-  * @typedef Parsers
 
-  * @type {function}
 
-  * @property {function} json
 
-  * @property {function} raw
 
-  * @property {function} text
 
-  * @property {function} urlencoded
 
-  */
 
- /**
 
-  * Module exports.
 
-  * @type {Parsers}
 
-  */
 
- exports = module.exports = deprecate.function(bodyParser,
 
-   'bodyParser: use individual json/urlencoded middlewares')
 
- /**
 
-  * JSON parser.
 
-  * @public
 
-  */
 
- Object.defineProperty(exports, 'json', {
 
-   configurable: true,
 
-   enumerable: true,
 
-   get: createParserGetter('json')
 
- })
 
- /**
 
-  * Raw parser.
 
-  * @public
 
-  */
 
- Object.defineProperty(exports, 'raw', {
 
-   configurable: true,
 
-   enumerable: true,
 
-   get: createParserGetter('raw')
 
- })
 
- /**
 
-  * Text parser.
 
-  * @public
 
-  */
 
- Object.defineProperty(exports, 'text', {
 
-   configurable: true,
 
-   enumerable: true,
 
-   get: createParserGetter('text')
 
- })
 
- /**
 
-  * URL-encoded parser.
 
-  * @public
 
-  */
 
- Object.defineProperty(exports, 'urlencoded', {
 
-   configurable: true,
 
-   enumerable: true,
 
-   get: createParserGetter('urlencoded')
 
- })
 
- /**
 
-  * Create a middleware to parse json and urlencoded bodies.
 
-  *
 
-  * @param {object} [options]
 
-  * @return {function}
 
-  * @deprecated
 
-  * @public
 
-  */
 
- function bodyParser (options) {
 
-   // use default type for parsers
 
-   var opts = Object.create(options || null, {
 
-     type: {
 
-       configurable: true,
 
-       enumerable: true,
 
-       value: undefined,
 
-       writable: true
 
-     }
 
-   })
 
-   var _urlencoded = exports.urlencoded(opts)
 
-   var _json = exports.json(opts)
 
-   return function bodyParser (req, res, next) {
 
-     _json(req, res, function (err) {
 
-       if (err) return next(err)
 
-       _urlencoded(req, res, next)
 
-     })
 
-   }
 
- }
 
- /**
 
-  * Create a getter for loading a parser.
 
-  * @private
 
-  */
 
- function createParserGetter (name) {
 
-   return function get () {
 
-     return loadParser(name)
 
-   }
 
- }
 
- /**
 
-  * Load a parser module.
 
-  * @private
 
-  */
 
- function loadParser (parserName) {
 
-   var parser = parsers[parserName]
 
-   if (parser !== undefined) {
 
-     return parser
 
-   }
 
-   // this uses a switch for static require analysis
 
-   switch (parserName) {
 
-     case 'json':
 
-       parser = require('./lib/types/json')
 
-       break
 
-     case 'raw':
 
-       parser = require('./lib/types/raw')
 
-       break
 
-     case 'text':
 
-       parser = require('./lib/types/text')
 
-       break
 
-     case 'urlencoded':
 
-       parser = require('./lib/types/urlencoded')
 
-       break
 
-   }
 
-   // store to prevent invoking require()
 
-   return (parsers[parserName] = parser)
 
- }
 
 
  |