func addVariableHandlers(mygdb *gdblib.GDB) { http.HandleFunc("/handle/variable/create", wrapHandlerFunc(func(w http.ResponseWriter, r *http.Request) { parms := gdblib.VarCreateParms{} decoder := json.NewDecoder(r.Body) err := decoder.Decode(&parms) if err != nil { w.WriteHeader(400) w.Write([]byte(err.Error())) return } result, err := mygdb.VarCreate(parms) if err != nil { w.WriteHeader(500) w.Write([]byte(err.Error())) return } resultBytes, err := json.Marshal(result) if err != nil { w.WriteHeader(500) w.Write([]byte(err.Error())) } else { w.WriteHeader(200) w.Write(resultBytes) } })) http.HandleFunc("/handle/variable/delete", wrapHandlerFunc(func(w http.ResponseWriter, r *http.Request) { parms := gdblib.VarDeleteParms{} decoder := json.NewDecoder(r.Body) err := decoder.Decode(&parms) if err != nil { w.WriteHeader(400) w.Write([]byte(err.Error())) return } err = mygdb.VarDelete(parms) if err != nil { w.WriteHeader(500) w.Write([]byte(err.Error())) return } w.WriteHeader(200) })) http.HandleFunc("/handle/variable/listchildren", wrapHandlerFunc(func(w http.ResponseWriter, r *http.Request) { parms := gdblib.VarListChildrenParms{} decoder := json.NewDecoder(r.Body) err := decoder.Decode(&parms) if err != nil { w.WriteHeader(400) w.Write([]byte(err.Error())) return } result, err := mygdb.VarListChildren(parms) if err != nil { w.WriteHeader(500) w.Write([]byte(err.Error())) return } resultBytes, err := json.Marshal(result) if err != nil { w.WriteHeader(500) w.Write([]byte(err.Error())) } else { w.WriteHeader(200) w.Write(resultBytes) } })) }