From fb214f4ca62dedf1e8305cd8d1feacca7c2fae97 Mon Sep 17 00:00:00 2001 From: Rongjian Zhang Date: Fri, 6 Oct 2023 21:31:05 +0800 Subject: [PATCH] http: refactor to make servername option normalization testable Refs: https://coverage.nodejs.org/coverage-36bb31be5f0b85a0/lib/_http_agent.js.html#L316 PR-URL: https://github.com/nodejs/node/pull/38733 Reviewed-By: Antoine du Hamel --- lib/_http_agent.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/_http_agent.js b/lib/_http_agent.js index b1508f23c6e6b7..e23409f2ee797f 100644 --- a/lib/_http_agent.js +++ b/lib/_http_agent.js @@ -253,8 +253,7 @@ Agent.prototype.addRequest = function addRequest(req, options, port/* legacy */, if (options.socketPath) options.path = options.socketPath; - if (!options.servername && options.servername !== '') - options.servername = calculateServerName(options, req); + normalizeServerName(options, req); const name = this.getName(options); if (!this.sockets[name]) { @@ -313,8 +312,7 @@ Agent.prototype.createSocket = function createSocket(req, options, cb) { if (options.socketPath) options.path = options.socketPath; - if (!options.servername && options.servername !== '') - options.servername = calculateServerName(options, req); + normalizeServerName(options, req); const name = this.getName(options); options._agentKey = name; @@ -344,6 +342,11 @@ Agent.prototype.createSocket = function createSocket(req, options, cb) { oncreate(null, newSocket); }; +function normalizeServerName(options, req) { + if (!options.servername && options.servername !== '') + options.servername = calculateServerName(options, req); +} + function calculateServerName(options, req) { let servername = options.host; const hostHeader = req.getHeader('host');