package main import ( "fmt" "log" "net/http" "os" "sync" ) func main() { host := os.Getenv("HOST") if host == "" { host = "0.0.0.0" } port := os.Getenv("PORT") if port == "" { port = "8080" } address := host + ":" + port chat := NewChat() router := http.NewServeMux() router.HandleFunc("/", handleIndex) router.HandleFunc("/chat", handleChat) router.HandleFunc("/chat/events", newHandleEvents(chat)) router.HandleFunc("/chat/msg", newHandleMsg(chat)) log.Println("Starting server on", address) http.ListenAndServe(address, router) } func handleIndex(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, `