package main import ( "context" "log" "net/http" ) func withCORS(h http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") h(w, r) } } func main() { ctx := context.Background() DbInit(ctx) http.HandleFunc("/new/user", withCORS(HttpHandleUserNew)) http.HandleFunc("/new/connection", withCORS(HttpHandleUserNewConnection)) http.HandleFunc("/new/token", withCORS(HttpHandleTokenNew)) http.HandleFunc("/new/group", withCORS(HttpHandeGroupCreate)) http.HandleFunc("/mod/user/appearence", withCORS(HttpHandleUserModifyAppearance)) http.HandleFunc("/mod/user/about", withCORS(HttpHandleUserModifyAbout)) http.HandleFunc("/mod/connection/accept", withCORS(HttpHandleUserAcceptConnection)) http.HandleFunc("/mod/connection/delete", withCORS(HttpHandleUserDeleteConnection)) http.HandleFunc("/mod/group/addusers", withCORS(HttpHandleGroupAddUsers)) http.HandleFunc("/mod/group/removeusers", withCORS(HttpHandleGroupRemoveUser)) http.HandleFunc("/mod/group/color", withCORS(HttpHandleGroupChangeColor)) http.HandleFunc("/mod/group/owner", withCORS(HttpHandleGroupChangeOwner)) http.HandleFunc("/get/groups", withCORS(HttpHandleGroupsGetWithoutMembers)) http.HandleFunc("/get/connections", withCORS(HttpHandleUserGetConnections)) http.HandleFunc("/get/group/members", withCORS(HttpHandleGroupMembersGet)) http.HandleFunc("/del/group", withCORS(HttpHandleGroupDelete)) http.HandleFunc("/msg/user", withCORS(HttpHandleUserMessage)) http.HandleFunc("/msg/group", withCORS(HttpHandleGroupMessage)) http.HandleFunc("/ws", ServeWsConnection) log.Println("listening on :8080") log.Fatal(http.ListenAndServe(":8080", nil)) }