Files
go-socket/main.go
T

35 lines
770 B
Go

package main
import (
"context"
"log"
"net/http"
)
func main() {
InitDatabase(context.Background())
srv := &wsServer{
OnOpen: func(c *Client) {
log.Println("client connected")
},
OnClose: func(c *Client, err error) {
log.Println("client disconnected:", err)
},
OnMessage: func(c *Client, msg map[string]any) {
log.Printf("received: %v\n", msg)
if c.User == nil {
handleUnauthenticatedMessage(c, msg)
} else {
handleAuthenticatedMessage(c, msg)
}
},
}
http.Handle("/ws", srv)
log.Println("server listening on :8080")
http.HandleFunc("POST /register", RegisterHandler)
http.HandleFunc("POST /login", LoginHandler)
http.HandleFunc("POST /create/group", CreateGroupHandler)
log.Fatal(http.ListenAndServe(":8080", nil))
}