aboutsummaryrefslogtreecommitdiffstats
path: root/src/server/Main.hx
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/Main.hx')
-rw-r--r--src/server/Main.hx10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/server/Main.hx b/src/server/Main.hx
index 0023c5f..97e7ed7 100644
--- a/src/server/Main.hx
+++ b/src/server/Main.hx
@@ -11,6 +11,7 @@ import js.npm.ws.Server as WSServer;
import js.npm.ws.WebSocket;
import js.node.http.IncomingMessage;
import js.node.Http;
+import json2object.JsonParser;
import Client.ClientData;
import Types.Config;
import Types.Permission;
@@ -36,6 +37,7 @@ class Main {
final userList:UserList;
final clients:Array<Client> = [];
final freeIds:Array<Int> = [];
+ final wsEventParser = new JsonParser<WsEvent>();
final consoleInput:ConsoleInput;
final videoList = new VideoList();
final videoTimer = new VideoTimer();
@@ -261,7 +263,13 @@ class Main {
sendClientList();
ws.on("message", data -> {
- onMessage(client, Json.parse(data));
+ final obj = wsEventParser.fromJson(data);
+ if (wsEventParser.errors.length > 0) {
+ trace('Wrong request for type "${obj.type}":');
+ trace(wsEventParser.errors.toString());
+ return;
+ }
+ onMessage(client, obj);
});
ws.on("close", err -> {
trace('Client ${client.name} disconnected');
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage