Browse Source

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>
v4.0.0-rc
Ben Noordhuis 10 years ago
parent
commit
7a999a1376
  1. 5
      doc/api/net.markdown
  2. 3
      lib/net.js
  3. 1
      test/parallel/test-cluster-http-pipe.js

5
doc/api/net.markdown

@ -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`.

3
lib/net.js

@ -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;

1
test/parallel/test-cluster-http-pipe.js

@ -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');

Loading…
Cancel
Save