package handler import ( "encoding/json" "fmt" "io" "net/http" "mocksnow/server/models" ) // NewSnow receives data from the DMSP Snow New() function func (h *Handler) NewSnow(w http.ResponseWriter, r *http.Request) { var () reqBody, err := io.ReadAll(r.Body) if err != nil { h.Logger.Error("Invalid data received", "error", err) fmt.Fprintf(w, "Invalid data received") w.WriteHeader(http.StatusInternalServerError) return } else { h.Logger.Debug("received input data", "length", len(reqBody)) } // Decode the JSON body var inc models.Incident if err := json.Unmarshal(reqBody, &inc); err != nil { h.Logger.Error("unable to decode json", "error", err) http.Error(w, "Invalid JSON body", http.StatusBadRequest) return } else { h.Logger.Debug("successfully decoded JSON") prettyPrint(inc) } }