From 383285ecd5292bf9a825e05904955b937de84cc9 Mon Sep 17 00:00:00 2001 From: Minteck Date: Sat, 4 Jun 2022 08:51:01 +0200 Subject: Initial commit --- node_modules/body/index.js | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 node_modules/body/index.js (limited to 'node_modules/body/index.js') 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); +} -- cgit