From 25451ffef0be39dbddfa317fb548ae29cdbea3c0 Mon Sep 17 00:00:00 2001 From: antonsrbn Date: Thu, 28 Oct 2021 19:28:00 +0300 Subject: [PATCH] =?UTF-8?q?feat(metrics):=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=80=D0=BE=D1=83=D1=82=20=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D0=B8=D0=BA=D0=B8=20=D0=B0=D0=BA=D1=82=D0=B8=D0=B2=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B8=20=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA=20socket=20Refs:=20CU-1?= =?UTF-8?q?pbvumc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/connections/IPCServer.ts | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/connections/IPCServer.ts b/src/connections/IPCServer.ts index e457e20..69069ba 100644 --- a/src/connections/IPCServer.ts +++ b/src/connections/IPCServer.ts @@ -1,11 +1,11 @@ import RootIPC from 'node-ipc'; import logger, { IPCServerLogger } from '../logger'; -import { IPCServerName, socketPath } from '../config'; +import { isDebug, IPCServerName, socketPath } from '../config'; import fs from 'fs'; import SessionService from '../service/SessionService'; import MessageData from '../types/Message'; import Message from '../messages'; - +import http, { IncomingMessage, RequestListener, Server, ServerResponse } from 'http'; /** * Класс IPC сервера * отвечает за работу демонизированного процесса @@ -30,6 +30,28 @@ export class IPCServer { RootIPC.serve(socketPath); this.handleEvents(); this.getCurrent().start(); + + if (isDebug) { + this.initHttpServer(); + } + } + + public initHttpServer() { + const port = 3000; + const requestHandler: RequestListener = (req: IncomingMessage, res: ServerResponse) => { + if (req.url === '/metrics') { + const isConnected = this.session.client.isConnect() ?? false; + const payload = { isConnected }; + const content = JSON.stringify(payload); + console.log(`get metrics:${content}`); + res.setHeader('Content-Type', 'application/json'); + res.end(content); + } else { + res.end(''); + } + }; + const server: Server = http.createServer(requestHandler); + server.listen(port); } public getCurrent() {