fix websocket messaging, renamed http functions, start sending message via http
This commit is contained in:
+17
-8
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user