fea: support route func for network (#53)

This commit is contained in:
Teddy_Zhu
2024-04-03 18:11:38 +08:00
committed by GitHub
parent f736779fba
commit bb62cbeea3
14 changed files with 764 additions and 105 deletions

View File

@@ -17,6 +17,7 @@ func (h Network) Router(router *mux.Router) {
router.HandleFunc("/api/network", h.List).Methods("GET")
router.HandleFunc("/api/network/{id}", h.Get).Methods("GET")
router.HandleFunc("/get/network/{id}/ovpn", h.Profile).Methods("GET")
router.HandleFunc("/api/network/{id}/openvpn/restart", h.RestartVPN).Methods("POST")
}
func (h Network) List(w http.ResponseWriter, r *http.Request) {
@@ -50,3 +51,18 @@ func (h Network) Profile(w http.ResponseWriter, r *http.Request) {
http.Error(w, err.Error(), http.StatusNotFound)
}
}
func (h Network) RestartVPN(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id := vars["id"]
worker := GetWorker(id)
if worker == nil {
http.Error(w, "Network not found", http.StatusInternalServerError)
return
}
worker.RestartVpn()
ResponseJson(w, true)
}