| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | var rawBody = require("raw-body")var cache = require("continuable-cache")var parseArguments = require("./parse-arguments.js")var ONE_MB = 1024 * 1024var THUNK_KEY = '__npm_body_thunk_cache__';module.exports = bodyfunction 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);}
 |