package main import ( "fmt" "net/http" ) func start(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Setze Cookie") fmt.Fprintln(w, "Zeige Cookie") fmt.Fprintln(w, "Lösche Cookie") } func setCookie(w http.ResponseWriter, r *http.Request) { c := &http.Cookie{Name: "lang", Value: "de"} http.SetCookie(w, c) fmt.Fprintln(w, "

Cookie gesetzt. Überprüfe in Dev-Tools oder hier anzeigen oder hier löschen

") } func getCookie(w http.ResponseWriter, r *http.Request) { c, err := r.Cookie("lang") if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } fmt.Fprintln(w, "Cookie: lang = ", c.Value) } func clearCookie(w http.ResponseWriter, r *http.Request) { c, err := r.Cookie("lang") if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } c.MaxAge = -1 http.SetCookie(w, c) fmt.Fprintln(w, "Cookie gelöscht: lang") } func main() { http.HandleFunc("/", start) http.HandleFunc("/set", setCookie) http.HandleFunc("/get", getCookie) http.HandleFunc("/clear", clearCookie) fmt.Println("Server läuft auf http://localhost:8080") http.ListenAndServe(":8080", nil) }