1234567891011121314151617181920212223242526272829303132333435363738 |
- 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}))
- }
- }
|