const MODULE_NAME = 'KOMODO-SDK-PUSH-TRX.HEARTBEAT-PING'; const uniqid = require('uniqid'); const config = require('komodo-sdk/config'); const logger = require('tektrans-logger'); /** * @param {WebSocket} ws */ module.exports = (ws) => { const xid = uniqid(); if (ws.isAlive === false) { logger.info(`${MODULE_NAME} D13AAE47: Terminating dead connection`, { apikey: ws.headers.apikey || ws.headers.token, }); ws.terminate(); return; } // eslint-disable-next-line no-param-reassign ws.isAlive = false; logger.debug(`${MODULE_NAME} DBA1B658: Sending ping for heartbeat`, { xid }); ws.ping(JSON.stringify({ rid: xid, senderName: config.handler_name, ts: new Date(), })); };