From 5091b1bf0501d08bb5af90eb75a0833d7d9aba3e Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Sun, 6 Aug 2023 12:47:15 +0100 Subject: Initial commit --- app/websocket/spotify.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 app/websocket/spotify.ts (limited to 'app/websocket') diff --git a/app/websocket/spotify.ts b/app/websocket/spotify.ts new file mode 100644 index 0000000..703cf08 --- /dev/null +++ b/app/websocket/spotify.ts @@ -0,0 +1,20 @@ +import { Server } from 'http'; +import { WebSocketServer } from 'ws'; +import { SpotifyClient } from '../spotify/client.js'; + +export const createWebsocketServer = (server: Server): WebSocketServer => { + const wss = new WebSocketServer({ noServer: true }); + server.on('upgrade', (req, socket, head) => { + wss.handleUpgrade(req, socket, head, (ws) => { + wss.emit('connection', ws, req) + }) + }) + + wss.on('connection', (ws) => { + SpotifyClient.addClient(ws); + }); + + return wss; +} + +export default createWebsocketServer; -- cgit v1.2.3-70-g09d2