1
0
mirror of https://github.com/KubaPro010/fm-dx-webserver.git synced 2026-02-27 06:23:53 +01:00

bugfixes, global url params, rds endpoint

This commit is contained in:
NoobishSVK
2024-07-31 16:29:16 +02:00
parent 7c2a71978b
commit e9d389fef0
21 changed files with 376 additions and 251 deletions

View File

@@ -11,6 +11,7 @@ const httpServer = http.createServer(app);
const WebSocket = require('ws');
const wss = new WebSocket.Server({ noServer: true });
const chatWss = new WebSocket.Server({ noServer: true });
const rdsWss = new WebSocket.Server({ noServer: true });
const path = require('path');
const net = require('net');
const client = new net.Socket();
@@ -109,7 +110,7 @@ if (serverConfig.xdrd.wirelessConnection === false) {
}, 3000);
serialport.on('data', (data) => {
helpers.resolveDataBuffer(data, wss);
helpers.resolveDataBuffer(data, wss, rdsWss);
});
serialport.on('error', (error) => {
@@ -185,7 +186,7 @@ function connectToXdrd() {
};
client.on('data', (data) => {
helpers.resolveDataBuffer(data, wss);
helpers.resolveDataBuffer(data, wss, rdsWss);
if (authFlags.authMsg == true && authFlags.messageCount > 1) {
// If the limit is reached, remove the 'data' event listener
client.off('data', authDataHandler);
@@ -437,6 +438,15 @@ chatWss.on('connection', (ws, request) => {
});
});
rdsWss.on('connection', (ws, request) => {
ws.on('message', function incoming(message) {
});
ws.on('close', function close() {
});
});
// Websocket register for /text, /audio and /chat paths
httpServer.on('upgrade', (request, socket, head) => {
if (request.url === '/text') {
@@ -453,6 +463,12 @@ httpServer.on('upgrade', (request, socket, head) => {
chatWss.emit('connection', ws, request);
});
});
} else if (request.url === '/rds') {
sessionMiddleware(request, {}, () => {
rdsWss.handleUpgrade(request, socket, head, (ws) => {
rdsWss.emit('connection', ws, request);
});
});
} else {
socket.destroy();
}