From d7ba073ba94b74eb79a67a0f7ec8f02728ff0da0 Mon Sep 17 00:00:00 2001 From: Denis <7009699+someden@users.noreply.github.com> Date: Mon, 20 Nov 2023 13:17:57 +0300 Subject: [PATCH 1/4] fix: include req.readableAborted flag to defaultSuccessfulRequestMessageProvider --- logger.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/logger.js b/logger.js index ade12f4..3ca29c4 100644 --- a/logger.js +++ b/logger.js @@ -259,7 +259,7 @@ function defaultFailedRequestMessageProvider () { } function defaultSuccessfulRequestMessageProvider (req, res) { - return res.writableEnded ? 'request completed' : 'request aborted' + return !req.readableAborted && res.writableEnded ? 'request completed' : 'request aborted' } module.exports = pinoLogger From e3c0ca35a7bf2b0186fe014703be28a2c42491bd Mon Sep 17 00:00:00 2001 From: Denis <7009699+someden@users.noreply.github.com> Date: Wed, 29 Nov 2023 19:38:31 +0000 Subject: [PATCH 2/4] add: test for log requests aborted on the server --- test/test.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/test/test.js b/test/test.js index 35f6291..e2c3d12 100644 --- a/test/test.js +++ b/test/test.js @@ -516,6 +516,35 @@ test('log requests aborted during payload', function (t) { }) }) +test('log requests aborted on the server', function (t) { + const dest = split(JSON.parse) + const logger = pinoHttp(dest) + + function handle (req, res) { + logger(req, res) + + req.destroy() + res.end() + } + + function listen (err, server) { + t.error(err) + const client = doGet(server) + + client.on('error', function () { + // skip error + }) + } + + setup(t, logger, listen, handle) + + dest.on('data', function (line) { + t.ok(line.responseTime >= 0, 'responseTime is defined') + t.equal(line.msg, DEFAULT_REQUEST_ABORTED_MSG, 'message is set') + t.end() + }) +}) + test('no auto logging with autoLogging set to false', function (t) { const dest = split(JSON.parse) const logger = pinoHttp({ autoLogging: false }, dest) From 0c3316a39bd9c33c278e3b2c64f17fdbc62e0128 Mon Sep 17 00:00:00 2001 From: Denis <7009699+someden@users.noreply.github.com> Date: Wed, 27 Dec 2023 11:34:46 +0000 Subject: [PATCH 3/4] drop support of node v14 and v16 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e26253f..8274651 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,7 +39,7 @@ jobs: contents: read strategy: matrix: - node-version: [14, 16, 18] + node-version: [18] steps: - name: Check out repo uses: actions/checkout@v4 From a94b2e5ba17c7ed4586bf39cf74acb5ef7488937 Mon Sep 17 00:00:00 2001 From: Denis <7009699+someden@users.noreply.github.com> Date: Wed, 27 Dec 2023 17:59:04 +0300 Subject: [PATCH 4/4] Update .github/workflows/ci.yml Co-authored-by: Matteo Collina --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8274651..9f554ad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,7 +39,7 @@ jobs: contents: read strategy: matrix: - node-version: [18] + node-version: [18, 20, 21] steps: - name: Check out repo uses: actions/checkout@v4