net: don't normalize twice in Socket#connect()

Split up Socket#connect() so that we don't call normalizeArgs() twice
when invoking net.connect() or net.createConnection().

PR-URL: https://github.com/nodejs/node/pull/12342
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
Ben Noordhuis 2017-04-11 18:05:48 +02:00
parent 9433434461
commit bb06add4d7

View File

@ -94,7 +94,7 @@ function connect() {
socket.setTimeout(options.timeout); socket.setTimeout(options.timeout);
} }
return Socket.prototype.connect.call(socket, options, cb); return realConnect.call(socket, options, cb);
} }
@ -921,7 +921,11 @@ Socket.prototype.connect = function() {
const normalized = normalizeArgs(args); const normalized = normalizeArgs(args);
const options = normalized[0]; const options = normalized[0];
const cb = normalized[1]; const cb = normalized[1];
return realConnect.call(this, options, cb);
};
function realConnect(options, cb) {
if (this.write !== Socket.prototype.write) if (this.write !== Socket.prototype.write)
this.write = Socket.prototype.write; this.write = Socket.prototype.write;
@ -962,7 +966,7 @@ Socket.prototype.connect = function() {
lookupAndConnect(this, options); lookupAndConnect(this, options);
} }
return this; return this;
}; }
function lookupAndConnect(self, options) { function lookupAndConnect(self, options) {