UNPKG

1.07 kBJavaScriptView Raw
1
2/*!
3 * Connect - json
4 * Copyright(c) 2010 Sencha Inc.
5 * Copyright(c) 2011 TJ Holowaychuk
6 * MIT Licensed
7 */
8
9/**
10 * Module dependencies.
11 */
12
13var bodyParser = require('@sailshq/body-parser');
14var deprecate = require('depd')('connect');
15var merge = require('utils-merge');
16
17/**
18 * JSON:
19 *
20 * See [body-parser](https://github.com/expressjs/body-parser)
21 *
22 * @param {Object} options
23 * @return {Function}
24 * @api public
25 */
26
27module.exports = function json(options) {
28 var opts = merge({
29 limit: '1mb',
30 type: ['application/json', 'application/*+json']
31 }, options);
32
33 // back-compat verify function
34 if (typeof opts.verify === 'function') {
35 deprecate('json.verify: use body-parser module for verify');
36 opts.verify = convertVerify(opts.verify);
37 }
38
39 return bodyParser.json(opts);
40};
41
42/**
43 * Convert old verify signature to body-parser version.
44 *
45 * @param {Function} verify
46 * @return {Function}
47 * @api private
48 */
49
50function convertVerify(verify) {
51 return function (req, res, buf, encoding) {
52 verify(req, res, buf.toString(encoding));
53 };
54}