aboutsummaryrefslogtreecommitdiffstats
path: root/backend/src/websocket/websocket-router.ts
diff options
context:
space:
mode:
authorLeonardo Bishop <me@leonardobishop.com>2023-11-09 00:17:03 +0000
committerLeonardo Bishop <me@leonardobishop.com>2023-11-09 00:17:03 +0000
commit1f101fe7cc5cc31c66146a1e226fa4bae805fdd4 (patch)
treee1d533f686741bf0c7a446ba8ada1ac66a2051ef /backend/src/websocket/websocket-router.ts
parent28f705fc4aa2f3c62e7fe7d95557494bedcb8d1c (diff)
Refactor websockets
Diffstat (limited to 'backend/src/websocket/websocket-router.ts')
-rw-r--r--backend/src/websocket/websocket-router.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/backend/src/websocket/websocket-router.ts b/backend/src/websocket/websocket-router.ts
new file mode 100644
index 0000000..0b11985
--- /dev/null
+++ b/backend/src/websocket/websocket-router.ts
@@ -0,0 +1,18 @@
+import { Server } from "http";
+import { wss as gameServer } from "./coop.js";
+
+export const createWebsocketServer = (server: Server) => {
+
+ server.on("upgrade", (req, socket, head) => {
+ if (req.url?.startsWith("/coop")) {
+ gameServer.handleUpgrade(req, socket, head, (ws) => {
+ gameServer.emit("connection", ws, req);
+ });
+ } else {
+ socket.destroy();
+ }
+ });
+
+};
+
+export default createWebsocketServer;