blob: c399161e4d9c97ad67e04432f612c82dd3346315 [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001var jsonParse = require("safe-json-parse")
2
3var body = require("./index.js")
4var parseArguments = require("./parse-arguments.js")
5
6module.exports = jsonBody
7
8function jsonBody(req, res, opts, callback) {
9 var args = parseArguments(req, res, opts, callback)
10 req = args.req
11 res = args.res
12 opts = args.opts
13 callback = args.callback
14
15 if (!callback) {
16 return jsonBody.bind(null, req, res, opts)
17 }
18
19 var parse = opts.JSON ? opts.JSON.parse : jsonParse
20 var reviver = opts.reviver || null
21
22 body(req, res, opts, function (err, body) {
23 if (err) {
24 return callback(err)
25 }
26
27 parse(body, reviver, callback)
28 })
29}