package ui import ( "io" "log" "net/http" "strings" ) const rootInputName = "form[url]" // handleGetRoot handles path / func handleGetRoot(w http.ResponseWriter, r *http.Request) { sess, err := store.Get(r, globals.SessionName) if err != nil { w.WriteHeader(http.StatusInternalServerError) return } data := struct { Flashes []interface{} InputName string SubmitName string }{ sess.Flashes(), rootInputName, "submit", } sess.Save(r, w) sw := &strings.Builder{} err = tmpl.ExecuteTemplate(sw, "home", data) if err != nil { log.Println(err) w.WriteHeader(http.StatusInternalServerError) } else { w.WriteHeader(http.StatusOK) io.Copy(w, strings.NewReader(sw.String())) } }