sclass FlexWebSocket extends WebSocket { *(NanoHTTPD.IHTTPSession handshake) { super(handshake); } event gotMessage(WebSocketFrame messageFrame); event closed(); public void send(WebSocketFrame frame) ctex { frame.write(out); } // This is for stupid shit like text decoding failures protected void onException(IOException e) { pcall_fail(e); } protected void onMessage(WebSocketFrame messageFrame) { //print("websocket msg: " + messageFrame.getTextPayload()); lastMessage = sysNow(); S s = messageFrame.getTextPayload(); if (eq(s, "ping")) incAtomicLong(webSocketPongs); pcall { if (botID != null) call(getBot(botID), 'onWebSocketMessage, this, s); else { msgs.add(s); callF(eleu_webSocket_onMessage, this, s); } } } protected void onClose(WebSocketFrame.CloseCode code, String reason, boolean initiatedByRemote) { closed(); } public void close() ctex { pcall { close(WebSocketFrame.CloseCode.NormalClosure, ""); } } }