| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | package routerimport (	"github.com/0xJacky/Nginx-UI/api/analytic"	"github.com/0xJacky/Nginx-UI/api/certificate"	"github.com/0xJacky/Nginx-UI/api/cluster"	"github.com/0xJacky/Nginx-UI/api/config"	"github.com/0xJacky/Nginx-UI/api/nginx"	"github.com/0xJacky/Nginx-UI/api/notification"	"github.com/0xJacky/Nginx-UI/api/openai"	"github.com/0xJacky/Nginx-UI/api/sites"	"github.com/0xJacky/Nginx-UI/api/streams"	"github.com/0xJacky/Nginx-UI/api/system"	"github.com/0xJacky/Nginx-UI/api/template"	"github.com/0xJacky/Nginx-UI/api/terminal"	"github.com/0xJacky/Nginx-UI/api/upstream"	"github.com/0xJacky/Nginx-UI/api/user"	"github.com/gin-contrib/static"	"github.com/gin-gonic/gin"	"net/http")func InitRouter() *gin.Engine {	r := gin.New()	r.Use(gin.Logger())	r.Use(recovery())	r.Use(cacheJs())	//r.Use(OperationSync())	r.Use(static.Serve("/", mustFS("")))	r.NoRoute(func(c *gin.Context) {		c.JSON(http.StatusNotFound, gin.H{			"message": "not found",		})	})	root := r.Group("/api")	{		system.InitPublicRouter(root)		user.InitAuthRouter(root)		// Authorization required not websocket request		g := root.Group("/", authRequired(), proxy())		{			analytic.InitRouter(g)			user.InitManageUserRouter(g)			nginx.InitRouter(g)			sites.InitRouter(g)			streams.InitRouter(g)			config.InitRouter(g)			template.InitRouter(g)			certificate.InitCertificateRouter(g)			certificate.InitDNSCredentialRouter(g)			certificate.InitAcmeUserRouter(g)			system.InitPrivateRouter(g)			openai.InitRouter(g)			cluster.InitRouter(g)			notification.InitRouter(g)		}		// Authorization required and websocket request		w := root.Group("/", authRequired(), proxyWs())		{			analytic.InitWebSocketRouter(w)			certificate.InitCertificateWebSocketRouter(w)			terminal.InitRouter(w)			nginx.InitNginxLogRouter(w)			upstream.InitRouter(w)		}	}	return r}
 |