//Handler for /nodemanager/stop - stop Node //mode: GET //url: /nodemanager/stop?id=value func nodeStopHandler(nm *nodemanager.NodeManager) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { logger.Info("Stoping Node") nodeID := r.FormValue("id") if nodeID == "" { wh.Error400(w, "Missing Node id") return } i, err := strconv.Atoi(nodeID) if err != nil { wh.Error400(w, "Node id must be integer") return } if len(nm.PubKeyList) < i { wh.Error400(w, "Invalid Node id") return } nm.NodesList[nm.PubKeyList[i]].Close() delete(nm.NodesList, nm.PubKeyList[i]) nm.PubKeyList = append(nm.PubKeyList[:i], nm.PubKeyList[i+1:]...) } }