aboutsummaryrefslogtreecommitdiff
path: root/node_modules/body/index.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/index.js
downloadequestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.gz
equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.bz2
equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.zip
Initial commit
Diffstat (limited to 'node_modules/body/index.js')
-rw-r--r--node_modules/body/index.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/node_modules/body/index.js b/node_modules/body/index.js
new file mode 100644
index 0000000..eda2511
--- /dev/null
+++ b/node_modules/body/index.js
@@ -0,0 +1,47 @@
+var rawBody = require("raw-body")
+var cache = require("continuable-cache")
+
+var parseArguments = require("./parse-arguments.js")
+
+var ONE_MB = 1024 * 1024
+var THUNK_KEY = '__npm_body_thunk_cache__';
+
+module.exports = body
+
+function parseBodyThunk(req, res, opts) {
+ return function thunk(callback) {
+ var limit = "limit" in opts ? opts.limit : ONE_MB
+ var contentLength = req.headers ?
+ Number(req.headers["content-length"]) : null;
+
+ rawBody(req, {
+ limit: limit,
+ length: contentLength,
+ encoding: "encoding" in opts ? opts.encoding : true
+ }, callback);
+ };
+}
+
+function body(req, res, opts, callback) {
+ var args = parseArguments(req, res, opts, callback)
+ req = args.req
+ res = args.res
+ opts = args.opts
+ callback = args.callback
+
+ var thunk;
+
+ if (opts.cache) {
+ var thunk = req[THUNK_KEY] ||
+ cache(parseBodyThunk(req, res, opts));
+ req[THUNK_KEY] = thunk;
+ } else {
+ thunk = parseBodyThunk(req, res, opts);
+ }
+
+ if (!callback) {
+ return thunk;
+ }
+
+ thunk(callback);
+}