From 76692bc9cc2e45bc937f974c3702a4272c149365 Mon Sep 17 00:00:00 2001 From: Jan Thurau Date: Thu, 19 Sep 2024 10:55:56 +0200 Subject: [PATCH] allow passing websocket server options (#858) --- packages/server/src/Hocuspocus.ts | 3 ++- packages/server/src/Server.ts | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/server/src/Hocuspocus.ts b/packages/server/src/Hocuspocus.ts index 14877ba5..e71e2754 100644 --- a/packages/server/src/Hocuspocus.ts +++ b/packages/server/src/Hocuspocus.ts @@ -155,6 +155,7 @@ export class Hocuspocus { async listen( portOrCallback: number | ((data: onListenPayload) => Promise) | null = null, callback: any = null, + websocketOptions: WebSocket.ServerOptions = {}, ): Promise { if (typeof portOrCallback === 'number') { this.configuration.port = portOrCallback @@ -172,7 +173,7 @@ export class Hocuspocus { }) } - this.server = new HocuspocusServer(this) + this.server = new HocuspocusServer(this, websocketOptions) if (this.configuration.stopOnSignals) { const signalHandler = async () => { diff --git a/packages/server/src/Server.ts b/packages/server/src/Server.ts index b916c936..75632d7c 100644 --- a/packages/server/src/Server.ts +++ b/packages/server/src/Server.ts @@ -1,7 +1,7 @@ import { createServer, IncomingMessage, Server as HTTPServer, ServerResponse, } from 'http' -import WebSocket, { WebSocketServer } from 'ws' +import WebSocket, { ServerOptions, WebSocketServer } from 'ws' import { Hocuspocus } from './Hocuspocus.js' export class Server { @@ -11,10 +11,10 @@ export class Server { hocuspocus: Hocuspocus - constructor(hocuspocus: Hocuspocus) { + constructor(hocuspocus: Hocuspocus, websocketOptions: ServerOptions = {}) { this.hocuspocus = hocuspocus this.httpServer = createServer(this.requestHandler) - this.webSocketServer = new WebSocketServer({ noServer: true }) + this.webSocketServer = new WebSocketServer({ noServer: true, ...websocketOptions }) this.setupWebsocketConnection() this.setupHttpUpgrade()