aboutsummaryrefslogtreecommitdiffstats
path: root/backend/src/websocket/websocket-router.ts
diff options
context:
space:
mode:
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;