aboutsummaryrefslogtreecommitdiff
path: root/node_modules/body/any.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-06-04 08:51:01 +0200
committerMinteck <contact@minteck.org>2022-06-04 08:51:01 +0200
commit383285ecd5292bf9a825e05904955b937de84cc9 (patch)
tree0a53b6f02c1604b078044567c03dc1b6c944c8c2 /node_modules/body/any.js
downloadequestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.gz
equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.bz2
equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.zip
Initial commit
Diffstat (limited to 'node_modules/body/any.js')
-rw-r--r--node_modules/body/any.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/body/any.js b/node_modules/body/any.js
new file mode 100644
index 0000000..3b7314b
--- /dev/null
+++ b/node_modules/body/any.js
@@ -0,0 +1,38 @@
+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}))
+ }
+}