From d86aca9a77e1b9eb693d242cd6a9804f369f08a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Mon, 29 Mar 2021 18:18:47 +0200 Subject: [PATCH] http: optimize debug function correctly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Exporting a variable that will be mutated later doesn't work. Refs: https://github.com/nodejs/node/issues/37937 PR-URL: https://github.com/nodejs/node/pull/37966 Reviewed-By: Matteo Collina Reviewed-By: Anna Henningsen Reviewed-By: Gerhard Stöbich Reviewed-By: Colin Ihrig Reviewed-By: Luigi Pinca --- lib/_http_client.js | 5 ++++- lib/_http_common.js | 1 - lib/_http_outgoing.js | 6 +++++- lib/_http_server.js | 5 ++++- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/_http_client.js b/lib/_http_client.js index 57a36183405170..4d8584326ef13f 100644 --- a/lib/_http_client.js +++ b/lib/_http_client.js @@ -47,7 +47,6 @@ const assert = require('internal/assert'); const { once } = require('internal/util'); const { _checkIsHttpToken: checkIsHttpToken, - debug, freeParser, parsers, HTTPParser, @@ -79,6 +78,10 @@ const { const { addAbortSignal, finished } = require('stream'); +let debug = require('internal/util/debuglog').debuglog('http', (fn) => { + debug = fn; +}); + const INVALID_PATH_REGEX = /[^\u0021-\u00ff]/; const kError = Symbol('kError'); diff --git a/lib/_http_common.js b/lib/_http_common.js index 0d4bdcff05f56b..229353ec735288 100644 --- a/lib/_http_common.js +++ b/lib/_http_common.js @@ -269,7 +269,6 @@ module.exports = { chunkExpression: /(?:^|\W)chunked(?:$|\W)/i, continueExpression: /(?:^|\W)100-continue(?:$|\W)/i, CRLF: '\r\n', - debug, freeParser, methods, parsers, diff --git a/lib/_http_outgoing.js b/lib/_http_outgoing.js index b7f0a9d5e67a15..4d2500f068f513 100644 --- a/lib/_http_outgoing.js +++ b/lib/_http_outgoing.js @@ -79,8 +79,12 @@ const { const { validateString } = require('internal/validators'); const { isUint8Array } = require('internal/util/types'); +let debug = require('internal/util/debuglog').debuglog('http', (fn) => { + debug = fn; +}); + const HIGH_WATER_MARK = getDefaultHighWaterMark(); -const { CRLF, debug } = common; +const { CRLF } = common; const kCorked = Symbol('corked'); diff --git a/lib/_http_server.js b/lib/_http_server.js index 8bff29fa803833..77bfed0b6f90b7 100644 --- a/lib/_http_server.js +++ b/lib/_http_server.js @@ -45,7 +45,6 @@ const assert = require('internal/assert'); const { parsers, freeParser, - debug, CRLF, continueExpression, chunkExpression, @@ -93,6 +92,10 @@ const { observerCounts, constants } = internalBinding('performance'); const { setTimeout, clearTimeout } = require('timers'); const { NODE_PERFORMANCE_ENTRY_TYPE_HTTP } = constants; +let debug = require('internal/util/debuglog').debuglog('http', (fn) => { + debug = fn; +}); + const dc = require('diagnostics_channel'); const onRequestStartChannel = dc.channel('http.server.request.start'); const onResponseFinishChannel = dc.channel('http.server.response.finish');