@underpostnet/underpost
Version:
Underpost Platform — end-to-end CI/CD and application-delivery toolchain CLI. Covers bare metal, Kubernetes, K3s, kubeadm, LXD, container/image orchestration, secrets, databases, cron jobs, monitoring, SSH, runners, PWA + Workbox delivery, and release orc
36 lines (28 loc) • 1.03 kB
JavaScript
/**
* Default WebSocket connection handler — wires sockets to the main channel.
* @module ws/default/default.ws.connection
*/
import { loggerFactory } from '../../server/logger.js';
import { DefaultWsMainChannel } from './channels/default.ws.main.js';
const logger = loggerFactory(import.meta);
/**
* @class DefaultWsConnectionHandler
* @classdesc Subscribes a new socket to the default main channel
* and delegates disconnect events.
*/
class DefaultWsConnectionHandler {
/**
* Handles a new WebSocket connection.
* @param {import('socket.io').Socket} socket
* @param {string} hostKeyContext
*/
static handle(socket, hostKeyContext) {
logger.info(`DefaultWsConnection ${socket.id}`);
DefaultWsMainChannel.connection(socket, hostKeyContext);
socket.on('disconnect', (reason) => {
logger.info(`DefaultWsConnection ${socket.id} due to reason: ${reason}`);
DefaultWsMainChannel.disconnect(socket, reason, hostKeyContext);
});
}
}
export { DefaultWsConnectionHandler };