refactor(routor): split routor from main.go

This commit is contained in:
2026-02-26 09:24:33 +08:00
parent 275e08a1a5
commit d76e28a358
4 changed files with 61 additions and 55 deletions

60
router.go Normal file
View File

@@ -0,0 +1,60 @@
package main
import (
"net/http"
"strings"
)
func setupRoutes() {
http.HandleFunc("/register", RegisterHandler)
http.HandleFunc("/login", LoginHandler)
http.HandleFunc("/frpcAct/instanceMgr/create", CreateInstanceHandler)
http.HandleFunc("/frpcAct/instanceMgr/list", ListInstancesHandler)
http.HandleFunc("/frpcAct/instanceMgr/", func(w http.ResponseWriter, r *http.Request) {
path := r.URL.Path
if len(path) < len("/frpcAct/instanceMgr/") {
SendErrorResponse(w, http.StatusNotFound, "invalid path")
return
}
remainingPath := path[len("/frpcAct/instanceMgr/"):]
if r.Method == http.MethodPost {
if remainingPath == "create" {
CreateInstanceHandler(w, r)
return
}
if remainingPath == "list" {
ListInstancesHandler(w, r)
return
}
if strings.HasSuffix(remainingPath, "/delete") {
instanceName := strings.TrimSuffix(remainingPath, "/delete")
instanceName = strings.Trim(instanceName, "/")
DeleteInstanceHandler(w, r, instanceName)
return
}
if strings.Contains(remainingPath, "/modify/") {
parts := strings.SplitN(remainingPath, "/modify/", 2)
if len(parts) == 2 {
instanceName := strings.Trim(parts[0], "/")
ModifyInstanceHandler(w, r, instanceName)
return
}
}
instanceName := strings.Trim(remainingPath, "/")
if instanceName != "" {
ListInstancesHandler(w, r)
return
}
}
SendErrorResponse(w, http.StatusNotFound, "endpoint not found")
})
}