Initial commit for OpenECOMP SDN-C OA&M
[sdnc/oam.git] / dgbuilder / dgeflows / node_modules / express / node_modules / proxy-addr / node_modules / forwarded / index.js
diff --git a/dgbuilder/dgeflows/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/index.js b/dgbuilder/dgeflows/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/index.js
new file mode 100644 (file)
index 0000000..2f5c340
--- /dev/null
@@ -0,0 +1,35 @@
+/*!
+ * forwarded
+ * Copyright(c) 2014 Douglas Christopher Wilson
+ * MIT Licensed
+ */
+
+/**
+ * Module exports.
+ */
+
+module.exports = forwarded
+
+/**
+ * Get all addresses in the request, using the `X-Forwarded-For` header.
+ *
+ * @param {Object} req
+ * @api public
+ */
+
+function forwarded(req) {
+  if (!req) {
+    throw new TypeError('argument req is required')
+  }
+
+  // simple header parsing
+  var proxyAddrs = (req.headers['x-forwarded-for'] || '')
+    .split(/ *, */)
+    .filter(Boolean)
+    .reverse()
+  var socketAddr = req.connection.remoteAddress
+  var addrs = [socketAddr].concat(proxyAddrs)
+
+  // return all addresses
+  return addrs
+}