From c4fc0febfacf3a79ede812d44c012093b5f2e31c Mon Sep 17 00:00:00 2001 From: Ryunosuke SATO Date: Fri, 28 Dec 2012 12:40:06 +0900 Subject: [PATCH] https: optimize https.createConnection() Stop using `arguments` for performance and readability. --- lib/https.js | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/lib/https.js b/lib/https.js index 0ed653c..000590a 100644 --- a/lib/https.js +++ b/lib/https.js @@ -57,26 +57,25 @@ exports.createServer = function(opts, requestListener) { // HTTPS agents. -function createConnection(/* [port, host, options] */) { - var options = {}; - - if (typeof arguments[0] === 'object') { - options = arguments[0]; - } else if (typeof arguments[1] === 'object') { - options = arguments[1]; - options.port = arguments[0]; - } else if (typeof arguments[2] === 'object') { - options = arguments[2]; - options.port = arguments[0]; - options.host = arguments[1]; +function createConnection(port, host, options) { + if (typeof port === 'object') { + options = port; + } else if (typeof host === 'object') { + options = host; + } else if (typeof options === 'object') { + options = options; } else { - if (typeof arguments[0] === 'number') { - options.port = arguments[0]; - } - if (typeof arguments[1] === 'string') { - options.host = arguments[1]; - } + options = {}; + } + + if (typeof port === 'number') { + options.port = port; } + + if (typeof host === 'string') { + options.host = host; + } + return tls.connect(options); } -- 2.7.4