import { StatusCodes } from 'http-status-codes';
import WebSocket, { type RawData, WebSocketServer } from 'ws';
-import { AbstractUIServer } from './AbstractUIServer';
-import { UIServerUtils } from './UIServerUtils';
-import type { UIServerConfiguration } from '../../types/ConfigurationData';
-import type { ProtocolRequest, ProtocolResponse } from '../../types/UIProtocol';
-import { WebSocketCloseEventStatusCode } from '../../types/WebSocket';
-import logger from '../../utils/Logger';
-import Utils from '../../utils/Utils';
+import {
+ type ProtocolRequest,
+ type ProtocolResponse,
+ type UIServerConfiguration,
+ WebSocketCloseEventStatusCode,
+} from '../../types';
+import { logger } from '../../utils/Logger';
+import { Utils } from '../../utils/Utils';
+import { AbstractUIServer, UIServerUtils } from '../internal';
const moduleName = 'UIWebSocketServer';
-export default class UIWebSocketServer extends AbstractUIServer {
+export class UIWebSocketServer extends AbstractUIServer {
private readonly webSocketServer: WebSocketServer;
public constructor(protected readonly uiServerConfiguration: UIServerConfiguration) {
this.responseHandlers.set(requestId, ws);
this.uiServices
.get(version)
- .requestHandler(request)
+ ?.requestHandler(request)
.catch(() => {
/* Error caught by AbstractUIService */
});
}
}
- public logPrefix(modName?: string, methodName?: string, prefixSuffix?: string): string {
+ public logPrefix = (modName?: string, methodName?: string, prefixSuffix?: string): string => {
const logMsgPrefix = prefixSuffix
? `UI WebSocket Server ${prefixSuffix}`
: 'UI WebSocket Server';
const logMsg =
- modName && methodName ? ` ${logMsgPrefix} | ${modName}.${methodName}:` : ` ${logMsgPrefix} |`;
+ Utils.isNotEmptyString(modName) && Utils.isNotEmptyString(methodName)
+ ? ` ${logMsgPrefix} | ${modName}.${methodName}:`
+ : ` ${logMsgPrefix} |`;
return Utils.logPrefix(logMsg);
- }
+ };
private broadcastToClients(message: string): void {
for (const client of this.webSocketServer.clients) {