Files
backend/router.go

65 lines
2.9 KiB
Go

package main
import (
"fmt"
"net/http"
"super-frpc/frpLogger"
"super-frpc/handlers"
"super-frpc/postLog"
"super-frpc/session"
"super-frpc/utils"
"super-frpc/web"
"super-frpc/sys"
)
func setupRoutes() {
systemLogHandler := postLog.NewLogSocketHandler(postLog.GetLogBroadcaster())
http.HandleFunc("/api/system/getLogs", systemLogHandler.Handle)
http.HandleFunc("/api/system/getStatus", GetStatusHandler)
http.HandleFunc("/api/system/getSoftwareInfo", GetSoftwareInfoHandler)
http.HandleFunc("/api/system/selfCheck", sys.SelfCheckHandler)
http.HandleFunc("/api/system/restart", utils.RestartHandler)
http.HandleFunc("/api/system/settings/get", handlers.GetSettingsHandler)
http.HandleFunc("/api/system/settings/set", handlers.SetSettingsHandler)
http.HandleFunc("/api/register", handlers.RegisterHandler)
http.HandleFunc("/api/login", handlers.LoginHandler)
http.HandleFunc("/api/logout", handlers.LogoutHandler)
http.HandleFunc("/api/userMgr/create", handlers.CreateUserHandler)
http.HandleFunc("/api/userMgr/remove", handlers.RemoveUserHandler)
http.HandleFunc("/api/userMgr/list", handlers.ListUserHandler)
http.HandleFunc("/api/userMgr/modify", handlers.ModifyUserHandler)
http.HandleFunc("/api/userMgr/modifyType", handlers.ModifyUserTypeHandler)
http.HandleFunc("/api/sessionMgr/list", handlers.ListActiveSessionsHandler)
http.HandleFunc("/api/sessionMgr/remove", handlers.RemoveSessionHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/create", handlers.CreateInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/delete", handlers.DeleteInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/modify", handlers.ModifyInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/list", handlers.ListInstancesHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/start", handlers.StartInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/stop", handlers.StopInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/restart", handlers.RestartInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/status", handlers.GetInstanceStatusHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/getInfo", handlers.GetInstanceInfoHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/logs", frpLogger.NewInstanceLogHandler(session.ValidateTokenFromMap).ServeHTTP)
http.HandleFunc("/api/frpcAct/proxyMgr/create", handlers.CreateProxyHandler)
http.HandleFunc("/api/frpcAct/proxyMgr/modify", handlers.ModifyProxyHandler)
http.HandleFunc("/api/frpcAct/proxyMgr/delete", handlers.DeleteProxyHandler)
http.HandleFunc("/api/frpcAct/proxyMgr/list", handlers.ListProxiesHandler)
http.HandleFunc("/api/frpcAct/proxyMgr/switch", handlers.SwitchProxyHandler)
http.HandleFunc("/", web.ServeStatic)
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))
utils.SendErrorResponse(w, http.StatusNotFound, "Invalid request path")
}