var TypedError = require("error/typed") var parseArguments = require("./parse-arguments.js") var jsonBody = require("./json.js") var formBody = require("./form.js") var jsonType = "application/json" var formType = "application/x-www-form-urlencoded" var INVALID_CONTENT_TYPE = TypedError({ message: "Could not parse content type header: {contentType}", type: "invalid.content.type", statusCode: 415, contentType: null }) module.exports = anyBody function anyBody(req, res, opts, callback) { var args = parseArguments(req, res, opts, callback) req = args.req res = args.res opts = args.opts callback = args.callback if (!callback) { return anyBody.bind(null, req, res, opts) } var contentType = req.headers["content-type"] || "" if (contentType.indexOf(jsonType) !== -1) { jsonBody(req, res, opts, callback) } else if (contentType.indexOf(formType) !== -1) { formBody(req, res, opts, callback) } else { callback(INVALID_CONTENT_TYPE({contentType: contentType})) } }