func receiptUploadsHandler(api *apidb.Api) func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) { setHeaders(w, r) if r.Method == "PUT" { decoder := json.NewDecoder(r.Body) var receiptUpload apidb.ReceiptUpload err := decoder.Decode(&receiptUpload) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } js, err := json.Marshal(api.AddReceiptUpload(receiptUpload)) w.Header().Set("Content-Type", "application/json") w.Write(js) } } }