forwarded-for
Advanced tools
Comparing version 0.0.2 to 0.1.0
23
index.js
@@ -8,2 +8,3 @@ 'use strict'; | ||
* | ||
* @constructor | ||
* @param {String} ip The IP address. | ||
@@ -114,3 +115,3 @@ * @param {Number} port The port number. | ||
module.exports = function parse(obj, headers, whitelist) { | ||
var proxied = forwarded(headers, whitelist) | ||
var proxied = forwarded(headers || {}, whitelist) | ||
, connection = obj.connection | ||
@@ -125,5 +126,3 @@ , socket = connection | ||
// | ||
if (proxied) { | ||
return proxied; | ||
} | ||
if (proxied) return proxied; | ||
@@ -136,12 +135,12 @@ // Check for the property on our given object. | ||
obj.remotePort, | ||
obj.encrypted | ||
'secure' in obj ? obj.secure : obj.encrypted | ||
); | ||
} | ||
// Edge case for Socket.IO and SockJS. | ||
if ('address' in obj && 'port' in obj) { | ||
// Edge case for Socket.IO 0.9 | ||
if ('object' === typeof obj.address && obj.address.address) { | ||
return new Forwarded( | ||
obj.address, | ||
obj.port, | ||
obj.encrypted | ||
obj.address.address, | ||
obj.address.port, | ||
'secure' in obj ? obj.secure : obj.encrypted | ||
); | ||
@@ -155,3 +154,3 @@ } | ||
connection.remotePort, | ||
connection.encrypted | ||
'secure' in connection ? connection.secure : connection.encrypted | ||
); | ||
@@ -164,3 +163,3 @@ } | ||
socket.remoteAddress, | ||
socket.encrypted | ||
'secure' in socket ? socket.secure : socket.encrypted | ||
); | ||
@@ -167,0 +166,0 @@ } |
{ | ||
"name": "forwarded-for", | ||
"version": "0.0.2", | ||
"version": "0.1.0", | ||
"description": "Abstraction for retrieving ip address information from a Node.js connection. Searches for proxy headers before degrading req.address", | ||
"main": "index.js", | ||
"scripts": { | ||
"test": "echo \"Error: no test specified\" && exit 1" | ||
"test": "mocha --reporter spec --ui bdd test.js" | ||
}, | ||
@@ -25,3 +25,5 @@ "repository": { | ||
"x-real-ip", | ||
"z-forwarded-for" | ||
"z-forwarded-for", | ||
"z-scaler", | ||
"zscaler" | ||
], | ||
@@ -33,3 +35,8 @@ "author": "Arnout Kazemier", | ||
}, | ||
"homepage": "https://github.com/primus/forwarded-for" | ||
"homepage": "https://github.com/primus/forwarded-for", | ||
"devDependencies": { | ||
"assume": "0.0.x", | ||
"mocha": "1.21.x", | ||
"pre-commit": "0.0.x" | ||
} | ||
} |
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
12234
5
277
1
3