lib: add net.Socket#localFamily property

Complements the existing net.Socket#remoteFamily property.

PR-URL: https://github.com/nodejs/node/pull/956
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
This commit is contained in:
Ben Noordhuis 2015-03-05 14:24:53 +01:00
parent f337595441
commit 7a999a1376
3 changed files with 9 additions and 0 deletions

View File

@ -533,6 +533,11 @@ client connects on `'192.168.1.1'`, the value would be `'192.168.1.1'`.
For UNIX sockets and Windows pipes, the file path the socket is listening For UNIX sockets and Windows pipes, the file path the socket is listening
on. The local address for client sockets is always `''`, the empty string. on. The local address for client sockets is always `''`, the empty string.
### socket.localFamily
The string representation of the local IP family. `'IPv4'` or `'IPv6'`
for TCP sockets, `'pipe'` for UNIX sockets and Windows pipes.
### socket.localPort ### socket.localPort
The numeric representation of the local port. For example, `80` or `21`. The numeric representation of the local port. For example, `80` or `21`.

View File

@ -606,6 +606,9 @@ Socket.prototype.__defineGetter__('localAddress', function() {
return this._getsockname().address; return this._getsockname().address;
}); });
Socket.prototype.__defineGetter__('localFamily', function() {
return this._getsockname().family;
});
Socket.prototype.__defineGetter__('localPort', function() { Socket.prototype.__defineGetter__('localPort', function() {
return this._getsockname().port; return this._getsockname().port;

View File

@ -33,6 +33,7 @@ http.createServer(function(req, res) {
assert.equal(req.connection.remoteFamily, 'pipe'); assert.equal(req.connection.remoteFamily, 'pipe');
assert.equal(req.connection.remotePort, undefined); assert.equal(req.connection.remotePort, undefined);
assert.equal(req.connection.localAddress, common.PIPE); assert.equal(req.connection.localAddress, common.PIPE);
assert.equal(req.connection.localFamily, 'pipe');
assert.equal(req.connection.localPort, undefined); assert.equal(req.connection.localPort, undefined);
res.writeHead(200); res.writeHead(200);
res.end('OK'); res.end('OK');