swagger to be done

This commit is contained in:
Sense T
2024-04-13 10:30:02 +08:00
parent 2c754e7eec
commit 3305d8d618
10 changed files with 162 additions and 16 deletions

View File

@@ -8,6 +8,7 @@ import (
"github.com/gin-gonic/gin"
)
// GetDomains
func getDomains(c *gin.Context) {
domains, err := controllers.GetDomains("")
if err != nil {

View File

@@ -1,6 +1,7 @@
package server
import (
"net/http"
"path"
"reCoreD-UI/controllers"
"strings"
@@ -8,11 +9,14 @@ import (
"github.com/gin-gonic/gin"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/sirupsen/logrus"
swaggerfiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
const (
apiPrefix = "/api"
metricPrefix = "/metrics"
apiPrefix = "/api"
metricPrefix = "/metrics"
swaggerPrefix = "/swagger"
)
func (s *Server) setupRoute() {
@@ -21,6 +25,9 @@ func (s *Server) setupRoute() {
logrus.Fatal(err)
}
swaggerHandler := gin.New()
swaggerHandler.GET(path.Join(swaggerPrefix, "*any"), ginSwagger.WrapHandler(swaggerfiles.Handler))
metricHandler := gin.New()
metricHandler.GET(metricPrefix, func(ctx *gin.Context) {
if err := controllers.RefreshMetrics(); err != nil {
@@ -59,6 +66,12 @@ func (s *Server) setupRoute() {
apiHandler.HandleContext(ctx)
case strings.HasPrefix(uri, path.Join(s.prefix, metricPrefix)):
metricHandler.HandleContext(ctx)
case strings.HasPrefix(uri, path.Join(s.prefix, swaggerPrefix)):
if s.debug {
swaggerHandler.HandleContext(ctx)
} else {
ctx.HTML(http.StatusNotFound, "", nil)
}
default:
staticFileHandler()(ctx)
}

View File

@@ -13,6 +13,7 @@ type Server struct {
webServer *gin.Engine
listen string
prefix string
debug bool
}
func NewServer(c *cli.Context) (*Server, error) {
@@ -30,6 +31,7 @@ func NewServer(c *cli.Context) (*Server, error) {
c.String("port"),
),
prefix: c.String("prefix"),
debug: c.Bool("debug"),
}, nil
}