diff --git a/signaling/src/SignalingServer.ts b/signaling/src/SignalingServer.ts index 1279113..9e56b89 100644 --- a/signaling/src/SignalingServer.ts +++ b/signaling/src/SignalingServer.ts @@ -1,20 +1,15 @@ -import type { Server, ServerWebSocket } from "bun"; -import { LoggerFactory, type ILogger } from "@techniker-me/logger"; -import { MessageKindMapping } from "./messaging/MessageKind"; +import type {Server, ServerWebSocket} from 'bun'; +import {LoggerFactory, type ILogger} from '@techniker-me/logger'; +import {MessageKindMapping} from './messaging/MessageKind'; export default class SignalingServer { - private readonly _logger: ILogger = - LoggerFactory.getLogger("SignalingServer"); + private readonly _logger: ILogger = LoggerFactory.getLogger('SignalingServer'); private readonly _port: number; private readonly _hostname: string; private readonly _development: boolean; private readonly _clients: Set> = new Set(); - constructor( - port: number, - hostname: string = "0.0.0.0", - development: boolean = false, - ) { + constructor(port: number, hostname: string = '0.0.0.0', development: boolean = false) { this._port = port; this._hostname = hostname; this._development = development; @@ -40,47 +35,39 @@ export default class SignalingServer { drain: this.handleWebSocketDrain.bind(this), error: this.handleWebSocketError.bind(this), perMessageDeflate: true, - maxPayloadLength: 10 * 1024, + maxPayloadLength: 10 * 1024 }; } get fetch() { return (req: Request, server: Server) => { - this._logger.info( - `Fetch request received [${req.url}] from [${server.requestIP(req)?.address}:${server.requestIP(req)?.port}]`, - ); + this._logger.info(`Fetch request received [${req.url}] from [${server.requestIP(req)?.address}:${server.requestIP(req)?.port}]`); const url = new URL(req.url); - if (url.pathname.endsWith("/ws")) { - this._logger.info("Upgrading to WebSocket"); + if (url.pathname.endsWith('/ws')) { + this._logger.info('Upgrading to WebSocket'); server.upgrade(req); return; } - return new Response("Hello World"); + return new Response('Hello World'); }; } private handleWebSocketOpen(ws: ServerWebSocket): void { - this._logger.info("WebSocket opened"); + this._logger.info('WebSocket opened'); this._clients.add(ws); } - private handleWebSocketMessage( - ws: ServerWebSocket, - message: string | Buffer, - ): void { - const messageString = - typeof message === "string" ? message : message.toString(); + private handleWebSocketMessage(ws: ServerWebSocket, message: string | Buffer): void { + const messageString = typeof message === 'string' ? message : message.toString(); const jsonMessage = JSON.parse(messageString); - this._logger.info( - `WebSocket message received [${MessageKindMapping.convertMessageKindToMessageType(jsonMessage.type)}]`, - ); + this._logger.info(`WebSocket message received [${MessageKindMapping.convertMessageKindToMessageType(jsonMessage.type)}]`); // Forward message to all other clients (following sequence diagram) // This allows the signaling server to relay offers/answers between caller and callee - this._clients.forEach((client) => { + this._clients.forEach(client => { if (client !== ws && client.readyState === 1) { // 1 = OPEN client.send(messageString); @@ -89,18 +76,15 @@ export default class SignalingServer { } private handleWebSocketClose(ws: ServerWebSocket): void { - this._logger.info("WebSocket closed"); + this._logger.info('WebSocket closed'); this._clients.delete(ws); } - private handleWebSocketError( - ws: ServerWebSocket, - error: Error, - ): void { - this._logger.error("WebSocket error", error); + private handleWebSocketError(ws: ServerWebSocket, error: Error): void { + this._logger.error('WebSocket error', error); } private handleWebSocketDrain(ws: ServerWebSocket): void { - this._logger.info("WebSocket drained"); + this._logger.info('WebSocket drained'); } } diff --git a/signaling/src/index.ts b/signaling/src/index.ts index 7abecd0..c3a6ef6 100644 --- a/signaling/src/index.ts +++ b/signaling/src/index.ts @@ -1,9 +1,7 @@ -import SignalingServer from "./SignalingServer"; +import SignalingServer from './SignalingServer'; -const signalingServer = new SignalingServer(3000, "0.0.0.0", true); +const signalingServer = new SignalingServer(3000, '0.0.0.0', true); Bun.serve(signalingServer); -console.log( - `Signaling server started on [${signalingServer.hostname}:${signalingServer.port}]`, -); +console.log(`Signaling server started on [${signalingServer.hostname}:${signalingServer.port}]`);