fix websocket messaging, renamed http functions, start sending message via http

This commit is contained in:
gitGnome
2026-03-30 12:31:38 +02:00
parent 9fb5f952c5
commit 8f9503bbab
8 changed files with 200 additions and 69 deletions
+17 -8
View File
@@ -78,13 +78,15 @@ func sendToAllMessageCloseIfTimeout(message *map[string]any) {
}
func handleAuthenticatedMessage(client *Client, clientMessage *map[string]any) bool {
subject, ok := (*clientMessage)["subject"].(uint32)
subjectFlt, ok := (*clientMessage)["subject"].(float64)
subject := uint32(subjectFlt)
if !ok {
var msg = map[string]any{
"from": "server",
"error": "subject invalid",
}
sendMessageCloseIfTimeout(client, &msg)
return true
}
content, ok := (*clientMessage)["content"].(string)
@@ -94,6 +96,7 @@ func handleAuthenticatedMessage(client *Client, clientMessage *map[string]any) b
"error": "content invalid",
}
sendMessageCloseIfTimeout(client, &msg)
return true
}
group, err := CacheGetGroup(subject)
@@ -103,23 +106,29 @@ func handleAuthenticatedMessage(client *Client, clientMessage *map[string]any) b
"error": "subject invalid",
}
sendMessageCloseIfTimeout(client, &msg)
return true
}
for groupClientId, _ := range group.Clients {
for groupClientId := range group.Clients {
groupClient, err := CacheGetClientById(groupClientId)
if err != nil || groupClient.Id == client.Id {
continue
}
var msg = map[string]any{
"from": "group",
"group": group.Id,
"sender": client.Name,
"content": content,
}
var groupClient *Client
groupClient, err = CacheGetClientById(groupClientId)
if err != nil {
sendMessageCloseIfTimeout(groupClient, &msg)
}
sendMessageCloseIfTimeout(groupClient, &msg)
}
var msg = map[string]any{
"from": "server",
}
sendMessageCloseIfTimeout(client)
return true
}