@inso_web/els-mcp
Version:
MCP-сервер поверх INSO Error Logs Service. Read-only tools (search, analytics, fingerprinting, correlations) для подключения Claude Desktop/Code и ChatGPT к логам ошибок. Streamable HTTP transport + stdio для npx-запуска.
26 lines • 1.12 kB
JavaScript
/**
* Глобальный error handler для Express. Логирует исключение, отдаёт JSON 500.
*
* Должен быть зарегистрирован последним (`app.use(errorHandler(log))`).
*
* Предпочитает per-request `req.log` (если установлен в requestId
* middleware) — иначе fallback на global logger.
*/
export function errorHandler(log) {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
return function expressErrorHandler(err, req, res, _next) {
const requestId = typeof req.headers['x-request-id'] === 'string'
? req.headers['x-request-id']
: undefined;
const reqLog = req.log ?? log;
reqLog?.error?.({ err: err instanceof Error ? err.message : String(err), path: req.path }, 'Unhandled error in HTTP handler');
if (res.headersSent)
return;
res.status(500).json({
error: 'internal',
error_description: 'Internal server error',
requestId,
});
};
}
//# sourceMappingURL=errorHandler.js.map