func addThreadHandlers(mygdb *gdblib.GDB) { http.HandleFunc("/handle/thread/listids", wrapHandlerFunc(func(w http.ResponseWriter, r *http.Request) { result, err := mygdb.ThreadListIds() if err != nil { w.WriteHeader(400) 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/thread/select", wrapHandlerFunc(func(w http.ResponseWriter, r *http.Request) { parms := gdblib.ThreadSelectParms{} decoder := json.NewDecoder(r.Body) err := decoder.Decode(&parms) if err != nil { w.WriteHeader(400) w.Write([]byte(err.Error())) return } result, err := mygdb.ThreadSelect(parms) if err != nil { w.WriteHeader(400) 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/thread/info", wrapHandlerFunc(func(w http.ResponseWriter, r *http.Request) { parms := gdblib.ThreadInfoParms{} decoder := json.NewDecoder(r.Body) err := decoder.Decode(&parms) if err != nil { w.WriteHeader(400) w.Write([]byte(err.Error())) return } result, err := mygdb.ThreadInfo(parms) if err != nil { w.WriteHeader(400) 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) } })) }