security(errors): 5xx без утечки err.message клиенту

Шаг 0.7 плана production-готовности:
- глобальный error handler: нейтральный текст + код инцидента, детали в лог
- route-уровень: зачистка err.message/String(err) в 5xx по 12 файлам,
  оригинальные ошибки логируются с контекстом
This commit is contained in:
2026-09-07 20:42:39 +03:00
parent b3d7923b23
commit 26419f395f
14 changed files with 73 additions and 44 deletions

View File

@@ -34,7 +34,7 @@ app.post("/convert/pdf", async (req, res) => {
});
} catch (err: any) {
console.error("[worker] PDF conversion error:", err);
res.status(500).json({ success: false, error: err.message || "Ошибка конвертации PDF" });
res.status(500).json({ success: false, error: "Ошибка конвертации PDF" });
}
});
@@ -94,7 +94,7 @@ app.post("/convert/docx-to-pdf", async (req, res) => {
});
} catch (err: any) {
console.error("[worker] DOCX→PDF conversion error:", err);
res.status(500).json({ success: false, error: err.message || "Ошибка конвертации DOCX→PDF" });
res.status(500).json({ success: false, error: "Ошибка конвертации DOCX→PDF" });
}
});
@@ -135,7 +135,7 @@ app.post("/convert/emf-to-png", async (req, res) => {
});
} catch (err: any) {
console.error("[worker] EMF→PNG conversion error:", err);
res.status(500).json({ success: false, error: err.message || "Ошибка конвертации EMF→PNG" });
res.status(500).json({ success: false, error: "Ошибка конвертации EMF→PNG" });
}
});