Exemple #1
0
func StopHandler(w http.ResponseWriter, req *http.Request) {
	var myjail *jail.Jail
	myjail = nil

	vars := mux.Vars(req)

	if _, ok := vars["uuid"]; ok {
		myjail = jail.GetJail(db, map[string]interface{}{"uuid": vars["uuid"]})
	}

	if myjail == nil {
		w.WriteHeader(http.StatusNotFound)
		return
	}

	w.Header().Add("Content-Type", "application/json")

	status := ActionStatus{}
	if err := myjail.Stop(); err != nil {
		w.WriteHeader(http.StatusInternalServerError)
		status.Result = "Error"
		status.ErrorMessage = err.Error()
	} else {
		w.WriteHeader(http.StatusOK)
		status.Result = "Okay"
	}

	if bytes, err := json.Marshal(status); err == nil {
		w.Write(bytes)
	}
}