From 3dee23334dc3372e0f26c866b42a38c50fc7566d 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 78532e9e5c..cbd5817d67 100644 --- a/lib/_http_client.js +++ b/lib/_http_client.js @@ -46,7 +46,6 @@ const assert = require('internal/assert'); const { once } = require('internal/util'); const { _checkIsHttpToken: checkIsHttpToken, - debug, freeParser, parsers, HTTPParser, @@ -78,6 +77,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 0d4bdcff05..229353ec73 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 d3904e7c41..b627608a52 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 dac5fedf43..00a60af373 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, @@ -91,6 +90,10 @@ const { } = require('internal/dtrace'); const { setTimeout, clearTimeout } = require('timers'); +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');