diff options
Diffstat (limited to 'dgbuilder/dgeflows/node_modules/body-parser/lib/read.js')
-rw-r--r-- | dgbuilder/dgeflows/node_modules/body-parser/lib/read.js | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/dgbuilder/dgeflows/node_modules/body-parser/lib/read.js b/dgbuilder/dgeflows/node_modules/body-parser/lib/read.js deleted file mode 100644 index 0880a3dd..00000000 --- a/dgbuilder/dgeflows/node_modules/body-parser/lib/read.js +++ /dev/null @@ -1,153 +0,0 @@ -/*! - * body-parser - * Copyright(c) 2014 Douglas Christopher Wilson - * MIT Licensed - */ - -/** - * Module dependencies. - */ - -var getBody = require('raw-body') -var iconv = require('iconv-lite') -var onFinished = require('on-finished') -var typer = require('media-typer') -var zlib = require('zlib') - -/** - * Module exports. - */ - -module.exports = read - -/** - * Read a request into a buffer and parse. - * - * @param {object} req - * @param {object} res - * @param {function} next - * @param {function} parse - * @param {object} options - * @api private - */ - -function read(req, res, next, parse, options) { - var length - var stream - - // flag as parsed - req._body = true - - try { - stream = contentstream(req, options.inflate) - length = stream.length - delete stream.length - } catch (err) { - return next(err) - } - - options = options || {} - options.length = length - - var encoding = options.encoding !== null - ? options.encoding || 'utf-8' - : null - var verify = options.verify - - options.encoding = verify - ? null - : encoding - - // read body - getBody(stream, options, function (err, body) { - if (err) { - if (!err.status) { - err.status = 400 - } - - // echo back charset - if (err.type === 'encoding.unsupported') { - err = new Error('unsupported charset "' + encoding.toUpperCase() + '"') - err.charset = encoding.toLowerCase() - err.status = 415 - } - - // read off entire request - stream.resume() - onFinished(req, function onfinished() { - next(err) - }) - return - } - - // verify - if (verify) { - try { - verify(req, res, body, encoding) - } catch (err) { - if (!err.status) err.status = 403 - return next(err) - } - } - - // parse - try { - body = typeof body !== 'string' && encoding !== null - ? iconv.decode(body, encoding) - : body - req.body = parse(body) - } catch (err) { - if (!err.status) { - err.body = body - err.status = 400 - } - return next(err) - } - - next() - }) -} - -/** - * Get the content stream of the request. - * - * @param {object} req - * @param {boolean} [inflate=true] - * @return {object} - * @api private - */ - -function contentstream(req, inflate) { - var encoding = (req.headers['content-encoding'] || 'identity').toLowerCase() - var err - var length = req.headers['content-length'] - var stream - - if (inflate === false && encoding !== 'identity') { - err = new Error('content encoding unsupported') - err.status = 415 - throw err - } - - switch (encoding) { - case 'deflate': - stream = zlib.createInflate() - req.pipe(stream) - break - case 'gzip': - stream = zlib.createGunzip() - req.pipe(stream) - break - case 'identity': - stream = req - stream.length = length - break - default: - err = new Error('unsupported content encoding "' + encoding + '"') - err.encoding = encoding - err.status = 415 - throw err - } - - return stream -} |