From 61361ec7e2bff806b207c9589c4887c838aa139c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Tue, 9 Jun 2026 21:01:33 +0400 Subject: [PATCH] =?UTF-8?q?bump=200.5.27=20=E2=80=94=20error=20handler:=20?= =?UTF-8?q?URL,=20user,=20clientId,=20stack?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- server.js | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 1d868eb..b4cb73e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ipwhitelist", - "version": "0.5.26", + "version": "0.5.27", "description": "IP WhiteList microservice for cloud provider", "main": "server.js", "scripts": { diff --git a/server.js b/server.js index 690f892..a770446 100644 --- a/server.js +++ b/server.js @@ -121,9 +121,16 @@ async function start() { // ── Общий обработчик ошибок ─────────────────────────────────────────────── // eslint-disable-next-line no-unused-vars app.use((err, req, res, next) => { - const msg = err instanceof Error ? (err.message || err.stack || String(err)) : JSON.stringify(err); - console.error('Unhandled error:', msg); - res.status(500).send('Ошибка: ' + msg.slice(0, 500)); + const ctx = { + url: req.method + ' ' + req.originalUrl, + user: (req.user && req.user.email) || 'none', + clientId: (req.user && req.user.clientId) || '-', + }; + const detail = err instanceof Error + ? (err.stack || err.message || String(err)) + : JSON.stringify(err); + console.error('Unhandled error:', ctx, detail); + res.status(500).send('Ошибка [' + ctx.url + '] user=' + ctx.user + ' clientId=' + ctx.clientId + ' — ' + detail.slice(0, 500)); }); // ── Старт сервера ─────────────────────────────────────────────────────────────