aboutsummaryrefslogtreecommitdiffstats
path: root/app/websocket/spotify.ts
blob: 703cf08ad19e68aeb66a0706acfb263f1c55e64c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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;