Initial commit for OpenECOMP SDN-C OA&M
[sdnc/oam.git] / dgbuilder / dgeflows / node_modules / body-parser / lib / types / text.js
diff --git a/dgbuilder/dgeflows/node_modules/body-parser/lib/types/text.js b/dgbuilder/dgeflows/node_modules/body-parser/lib/types/text.js
new file mode 100644 (file)
index 0000000..2330b5b
--- /dev/null
@@ -0,0 +1,66 @@
+/*!
+ * body-parser
+ * Copyright(c) 2014 Douglas Christopher Wilson
+ * MIT Licensed
+ */
+
+/**
+ * Module dependencies.
+ */
+
+var bytes = require('bytes')
+var read = require('../read')
+var typeis = require('type-is')
+var typer = require('media-typer')
+
+/**
+ * Module exports.
+ */
+
+module.exports = text
+
+/**
+ * Create a middleware to parse text bodies.
+ *
+ * @param {object} [options]
+ * @return {function}
+ * @api public
+ */
+
+function text(options) {
+  options = options || {};
+
+  var defaultCharset = options.defaultCharset || 'utf-8'
+  var inflate = options.inflate !== false
+  var limit = typeof options.limit !== 'number'
+    ? bytes(options.limit || '100kb')
+    : options.limit
+  var type = options.type || 'text/plain'
+  var verify = options.verify || false
+
+  if (verify !== false && typeof verify !== 'function') {
+    throw new TypeError('option verify must be function')
+  }
+
+  function parse(buf) {
+    return buf
+  }
+
+  return function textParser(req, res, next) {
+    if (req._body) return next()
+    req.body = req.body || {}
+
+    if (!typeis(req, type)) return next()
+
+    // get charset
+    var charset = typer.parse(req).parameters.charset || defaultCharset
+
+    // read
+    read(req, res, next, parse, {
+      encoding: charset,
+      inflate: inflate,
+      limit: limit,
+      verify: verify
+    })
+  }
+}