package main /* This was entirely generated by GPT4 with the prompt: write me a simple golang server demonstrating server sent events (sse) */ import ( "fmt" "net/http" "time" ) func main() { http.HandleFunc("/", serveHome) http.HandleFunc("/sse", serveSSE) http.ListenAndServe(":8080", nil) } func serveHome(w http.ResponseWriter, r *http.Request) { html := ` Server-Sent Events Demo

Server-Sent Events Demo

` w.Header().Set("Content-Type", "text/html") w.Write([]byte(html)) } func serveSSE(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/event-stream") w.Header().Set("Cache-Control", "no-cache") w.Header().Set("Connection", "keep-alive") flusher, ok := w.(http.Flusher) if !ok { http.Error(w, "Streaming unsupported!", http.StatusInternalServerError) return } for i := 1; ; i++ { fmt.Fprintf(w, "data: Message %d from server\n\n", i) flusher.Flush() time.Sleep(time.Second) } }