Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit baac81d

Browse filesBrowse files
jscissrrvagg
authored andcommitted
net: add local address/port for better errors
Adds localAddress and localPort to req so we have better error messages. Also fixes a case where ex is used before it is declared. PR-URL: #3946 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
1 parent c584c3e commit baac81d
Copy full SHA for baac81d

File tree

Expand file treeCollapse file tree

2 files changed

+22
-3
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

2 files changed

+22
-3
lines changed
Open diff view settings
Collapse file

‎lib/net.js‎

Copy file name to clipboardExpand all lines: lib/net.js
+7-3Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,8 @@ function connect(self, address, port, addressType, localAddress, localPort) {
817817
req.oncomplete = afterConnect;
818818
req.address = address;
819819
req.port = port;
820+
req.localAddress = localAddress;
821+
req.localPort = localPort;
820822

821823
if (addressType === 4)
822824
err = self._handle.connect(req, address, port);
@@ -1056,15 +1058,17 @@ function afterConnect(status, handle, req, readable, writable) {
10561058
self._connecting = false;
10571059
var details;
10581060
if (req.localAddress && req.localPort) {
1059-
ex.localAddress = req.localAddress;
1060-
ex.localPort = req.localPort;
1061-
details = ex.localAddress + ':' + ex.localPort;
1061+
details = req.localAddress + ':' + req.localPort;
10621062
}
10631063
var ex = exceptionWithHostPort(status,
10641064
'connect',
10651065
req.address,
10661066
req.port,
10671067
details);
1068+
if (details) {
1069+
ex.localAddress = req.localAddress;
1070+
ex.localPort = req.localPort;
1071+
}
10681072
self._destroy(ex);
10691073
}
10701074
}
Collapse file
+15Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
'use strict';
2+
const common = require('../common');
3+
const assert = require('assert');
4+
const net = require('net');
5+
6+
var client = net.connect({
7+
port: common.PORT + 1,
8+
localPort: common.PORT,
9+
localAddress: common.localhostIPv4
10+
});
11+
12+
client.on('error', common.mustCall(function onError(err) {
13+
assert.equal(err.localPort, common.PORT);
14+
assert.equal(err.localAddress, common.localhostIPv4);
15+
}));

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.