Demo for query storing
Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
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);
+}