From 3561e80873c59f16fc20097acafffdbbf08f08ce Mon Sep 17 00:00:00 2001 From: HF Date: Wed, 14 Jun 2023 00:03:00 +0200 Subject: [PATCH] catch upgrade errors --- src/server.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/server.js b/src/server.js index e804bf5a..b0724c82 100644 --- a/src/server.js +++ b/src/server.js @@ -45,12 +45,18 @@ const usersocket = new SocketServer(); const apisocket = new APISocketServer(); function wsupgrade(request, socket, head) { const { pathname } = url.parse(request.url); - - if (pathname === '/ws') { - usersocket.handleUpgrade(request, socket, head); - } else if (pathname === '/mcws') { - apisocket.handleUpgrade(request, socket, head); - } else { + try { + if (pathname === '/ws') { + usersocket.handleUpgrade(request, socket, head); + } else if (pathname === '/mcws') { + apisocket.handleUpgrade(request, socket, head); + } else { + socket.write('HTTP/1.1 404 Not found\r\n\r\n'); + socket.destroy(); + } + } catch (err) { + logger.error(`WebSocket upgrade error: ${err.message}`); + socket.write('HTTP/1.1 503 Service Unavailable\r\n\r\n'); socket.destroy(); } }