aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/server.js20
-rw-r--r--src/server/Main.hx12
2 files changed, 29 insertions, 3 deletions
diff --git a/build/server.js b/build/server.js
index aff7631..81d54d2 100644
--- a/build/server.js
+++ b/build/server.js
@@ -3945,7 +3945,7 @@ server_Main.prototype = {
this.onMessage(client,{ type : "Connected"},true);
ws.on("message",function(data) {
var obj = _gthis.wsEventParser.fromJson(data);
- if(_gthis.wsEventParser.errors.length > 0) {
+ if(_gthis.wsEventParser.errors.length > 0 || _gthis.noTypeObj(obj)) {
var errors = "" + ("Wrong request for type \"" + obj.type + "\":") + "\n" + json2object_ErrorUtils.convertErrorArray(_gthis.wsEventParser.errors);
haxe_Log.trace(errors,{ fileName : "src/server/Main.hx", lineNumber : 301, className : "server.Main", methodName : "onConnect"});
_gthis.serverMessage(client,errors);
@@ -3957,6 +3957,22 @@ server_Main.prototype = {
_gthis.onMessage(client,{ type : "Disconnected"},true);
});
}
+ ,noTypeObj: function(data) {
+ if(data.type == "GetTime") {
+ return false;
+ }
+ if(data.type == "TogglePlaylistLock") {
+ return false;
+ }
+ if(data.type == "UpdatePlaylist") {
+ return false;
+ }
+ if(data.type == "Logout") {
+ return false;
+ }
+ var t = data.type;
+ return ((Reflect.field(data,t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null))) === null);
+ }
,onMessage: function(client,data,internal) {
var _gthis = this;
this.logger.log({ clientName : client.name, clientGroup : client.group, event : data, time : new Date().getTime()});
@@ -4028,7 +4044,7 @@ server_Main.prototype = {
if(!internal) {
return;
}
- haxe_Log.trace("Client " + client.name + " disconnected",{ fileName : "src/server/Main.hx", lineNumber : 346, className : "server.Main", methodName : "onMessage"});
+ haxe_Log.trace("Client " + client.name + " disconnected",{ fileName : "src/server/Main.hx", lineNumber : 356, className : "server.Main", methodName : "onMessage"});
server_Utils.sortedPush(this.freeIds,client.id);
HxOverrides.remove(this.clients,client);
this.sendClientList();
diff --git a/src/server/Main.hx b/src/server/Main.hx
index ee8de26..f0c3d7a 100644
--- a/src/server/Main.hx
+++ b/src/server/Main.hx
@@ -294,7 +294,7 @@ class Main {
ws.on("message", data -> {
final obj = wsEventParser.fromJson(data);
- if (wsEventParser.errors.length > 0) {
+ if (wsEventParser.errors.length > 0 || noTypeObj(obj)) {
final line = 'Wrong request for type "${obj.type}":';
final errorLines = ErrorUtils.convertErrorArray(wsEventParser.errors);
final errors = '$line\n$errorLines';
@@ -312,6 +312,16 @@ class Main {
});
}
+ function noTypeObj(data:WsEvent):Bool {
+ if (data.type == GetTime) return false;
+ if (data.type == TogglePlaylistLock) return false;
+ if (data.type == UpdatePlaylist) return false;
+ if (data.type == Logout) return false;
+ final t:String = cast data.type;
+ final t = t.charAt(0).toLowerCase() + t.substr(1);
+ return js.Syntax.strictEq(Reflect.field(data, t), null);
+ }
+
function onMessage(client:Client, data:WsEvent, internal:Bool):Void {
logger.log({
clientName: client.name,
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage