pages.go 556 B

123456789101112131415161718192021222324252627282930313233
  1. package pages
  2. import (
  3. "fmt"
  4. "html/template"
  5. "net/http"
  6. "gogs.gildas.ch/gildas/movies"
  7. )
  8. func List(c *movies.Collection) http.HandlerFunc {
  9. return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  10. t, err := template.ParseFiles("templates/list.html")
  11. if err != nil {
  12. fmt.Println(err)
  13. return
  14. }
  15. if r.Method == "POST" {
  16. m, err := movies.Unmarshal([]byte(r.FormValue("omdb_json")))
  17. if err != nil {
  18. w.WriteHeader(http.StatusBadRequest)
  19. fmt.Println(err)
  20. return
  21. }
  22. c.Add(m)
  23. }
  24. t.Execute(w, c)
  25. })
  26. }