123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package api
- import (
- "encoding/json"
- "io/ioutil"
- "net/http"
- "gogs.gildas.ch/gildas/movies"
- )
- type Error struct {
- Error string `json: "error"`
- }
- func returnError(w http.ResponseWriter, status int, err error) {
- w.Header().Set("Content-Type", "application/json")
- w.WriteHeader(status)
- json.NewEncoder(w).Encode(Error{Error: err.Error()})
- }
- func AddMovieHandler(c *movies.Collection) http.HandlerFunc {
- return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- if r.Method != "POST" {
- return
- }
- b, err := ioutil.ReadAll(r.Body)
- if err != nil {
- returnError(w, http.StatusBadRequest, err)
- return
- }
- m, err := movies.Unmarshal(b)
- if err != nil {
- returnError(w, http.StatusBadRequest, err)
- return
- }
- c.Add(m)
- })
- }
|