GT2/GT2-iOS/node_modules/connect/lib/middleware/json.js

55 lines
1.0 KiB
JavaScript

/*!
* Connect - json
* Copyright(c) 2010 Sencha Inc.
* Copyright(c) 2011 TJ Holowaychuk
* MIT Licensed
*/
/**
* Module dependencies.
*/
var bodyParser = require('body-parser');
var deprecate = require('depd')('connect');
var merge = require('utils-merge');
/**
* JSON:
*
* See [body-parser](https://github.com/expressjs/body-parser)
*
* @param {Object} options
* @return {Function}
* @api public
*/
module.exports = function json(options) {
var opts = merge({
limit: '1mb',
type: ['application/json', 'application/*+json']
}, options);
// back-compat verify function
if (typeof opts.verify === 'function') {
deprecate('json.verify: use body-parser module for verify');
opts.verify = convertVerify(opts.verify);
}
return bodyParser.json(opts);
};
/**
* Convert old verify signature to body-parser version.
*
* @param {Function} verify
* @return {Function}
* @api private
*/
function convertVerify(verify) {
return function (req, res, buf, encoding) {
verify(req, res, buf.toString(encoding));
};
}