feat(global): add global package for shared variables and types refactor(handlers): move handlers to dedicated package and update imports refactor(session): extract session management to separate package refactor(config): move config handling to dedicated package refactor(router): update route handlers to use new package structure refactor(main): simplify main.go by moving logic to packages
58 lines
2.4 KiB
Go
58 lines
2.4 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"super-frpc/frpLogger"
|
|
"super-frpc/handlers"
|
|
"super-frpc/instance"
|
|
"super-frpc/postLog"
|
|
"super-frpc/session"
|
|
"super-frpc/user"
|
|
)
|
|
|
|
func setupRoutes() {
|
|
http.HandleFunc("/system/getStatus", GetStatusHandler)
|
|
http.HandleFunc("/system/getSoftwareInfo", GetSoftwareInfoHandler)
|
|
systemLogHandler := postLog.NewLogSocketHandler(postLog.GetLogBroadcaster())
|
|
http.HandleFunc("/system/getLogs", systemLogHandler.Handle)
|
|
|
|
http.HandleFunc("/register", user.RegisterHandler)
|
|
http.HandleFunc("/login", user.LoginHandler)
|
|
http.HandleFunc("/logout", user.LogoutHandler)
|
|
|
|
http.HandleFunc("/userMgr/create", user.CreateUserHandler)
|
|
http.HandleFunc("/userMgr/remove", user.RemoveUserHandler)
|
|
http.HandleFunc("/userMgr/list", user.ListUserHandler)
|
|
http.HandleFunc("/userMgr/modify", user.ModifyUserHandler)
|
|
http.HandleFunc("/userMgr/modifyType", user.ModifyUserTypeHandler)
|
|
|
|
http.HandleFunc("/sessionMgr/list", user.ListActiveSessionsHandler)
|
|
http.HandleFunc("/sessionMgr/remove", user.RemoveSessionHandler)
|
|
|
|
http.HandleFunc("/frpcAct/instanceMgr/create", instance.CreateInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/delete", instance.DeleteInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/modify", instance.ModifyInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/list", instance.ListInstancesHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/start", instance.StartInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/stop", instance.StopInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/restart", instance.RestartInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/status", instance.GetInstanceStatusHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/getInfo", instance.GetInstanceInfoHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/logs", frpLogger.NewInstanceLogHandler(session.ValidateTokenFromMap).ServeHTTP)
|
|
http.HandleFunc("/frpcAct/proxyMgr/create", instance.CreateProxyHandler)
|
|
http.HandleFunc("/frpcAct/proxyMgr/modify", instance.ModifyProxyHandler)
|
|
http.HandleFunc("/frpcAct/proxyMgr/delete", instance.DeleteProxyHandler)
|
|
http.HandleFunc("/frpcAct/proxyMgr/list", instance.ListProxiesHandler)
|
|
|
|
http.HandleFunc("/", NotFoundHandler)
|
|
|
|
postLog.Info("Routes setup successfully")
|
|
|
|
}
|
|
|
|
func NotFoundHandler(w http.ResponseWriter, r *http.Request) {
|
|
postLog.Error(fmt.Sprintf("Route not found: %s %s", r.Method, r.URL.Path))
|
|
handlers.SendErrorResponse(w, http.StatusNotFound, "Invalid request path")
|
|
}
|