- Add GET /settings/get and POST /settings/set endpoints for managing system settings - Implement config file persistence for settings changes - Update config schema to include notification and webhook settings - Add API documentation for new endpoints - Move config path variables to global package for consistency
59 lines
2.6 KiB
Go
59 lines
2.6 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"super-frpc/frpLogger"
|
|
"super-frpc/utils"
|
|
"super-frpc/postLog"
|
|
"super-frpc/session"
|
|
"super-frpc/handlers"
|
|
)
|
|
|
|
func setupRoutes() {
|
|
systemLogHandler := postLog.NewLogSocketHandler(postLog.GetLogBroadcaster())
|
|
http.HandleFunc("/system/getLogs", systemLogHandler.Handle)
|
|
http.HandleFunc("/system/getStatus", GetStatusHandler)
|
|
http.HandleFunc("/system/getSoftwareInfo", GetSoftwareInfoHandler)
|
|
http.HandleFunc("/system/settings/get", handlers.GetSettingsHandler)
|
|
http.HandleFunc("/system/settings/set", handlers.SetSettingsHandler)
|
|
|
|
http.HandleFunc("/register", handlers.RegisterHandler)
|
|
http.HandleFunc("/login", handlers.LoginHandler)
|
|
http.HandleFunc("/logout", handlers.LogoutHandler)
|
|
|
|
http.HandleFunc("/userMgr/create", handlers.CreateUserHandler)
|
|
http.HandleFunc("/userMgr/remove", handlers.RemoveUserHandler)
|
|
http.HandleFunc("/userMgr/list", handlers.ListUserHandler)
|
|
http.HandleFunc("/userMgr/modify", handlers.ModifyUserHandler)
|
|
http.HandleFunc("/userMgr/modifyType", handlers.ModifyUserTypeHandler)
|
|
|
|
http.HandleFunc("/sessionMgr/list", handlers.ListActiveSessionsHandler)
|
|
http.HandleFunc("/sessionMgr/remove", handlers.RemoveSessionHandler)
|
|
|
|
http.HandleFunc("/frpcAct/instanceMgr/create", handlers.CreateInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/delete", handlers.DeleteInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/modify", handlers.ModifyInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/list", handlers.ListInstancesHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/start", handlers.StartInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/stop", handlers.StopInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/restart", handlers.RestartInstanceHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/status", handlers.GetInstanceStatusHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/getInfo", handlers.GetInstanceInfoHandler)
|
|
http.HandleFunc("/frpcAct/instanceMgr/logs", frpLogger.NewInstanceLogHandler(session.ValidateTokenFromMap).ServeHTTP)
|
|
http.HandleFunc("/frpcAct/proxyMgr/create", handlers.CreateProxyHandler)
|
|
http.HandleFunc("/frpcAct/proxyMgr/modify", handlers.ModifyProxyHandler)
|
|
http.HandleFunc("/frpcAct/proxyMgr/delete", handlers.DeleteProxyHandler)
|
|
http.HandleFunc("/frpcAct/proxyMgr/list", handlers.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))
|
|
utils.SendErrorResponse(w, http.StatusNotFound, "Invalid request path")
|
|
}
|