12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package router
- import (
- "github.com/gin-gonic/gin"
- "github.com/sirupsen/logrus"
- "sghgogs.com/sghblog/authorization-client/router/v1/admin/permission"
- "sghgogs.com/sghblog/authorization-client/router/v1/admin_role"
- "sghgogs.com/sghblog/authorization-client/router/v1/admin_user"
- swaggerFiles "github.com/swaggo/files"
- "github.com/swaggo/gin-swagger"
- "go-micro.dev/v4/client"
- "net/http"
- _ "sghgogs.com/sghblog/authorization-client/docs"
- "sghgogs.com/sghblog/authorization-client/router/v1/admin_common"
- "sghgogs.com/sghblog/authorization-client/utils/baseservice"
- "sghgogs.com/sghblog/authorization-client/utils/tracing"
- "time"
- )
- func Logger() gin.HandlerFunc {
-
- log := logrus.New()
-
-
- log.SetLevel(logrus.TraceLevel)
- return func(c *gin.Context) {
- start := time.Now()
- c.Next()
- latency := time.Since(start)
- log.Printf("[%s] %s %s %s %s",
- c.Request.Method,
- c.Request.RequestURI,
- c.ClientIP(),
- latency,
- c.Request.UserAgent(),
- )
- }
- }
- func NewRouter(namespace string, client client.Client) *gin.Engine {
- r := gin.Default()
- r.Use(Logger())
-
- r.Use(tracing.NewTracingContextWrapper())
-
-
-
-
-
-
-
-
- adminCommonRouter := admin_common.NewAdminCommonRouter(namespace, client)
- adminRoleRouter := admin_role.NewAdminRoleRouter(namespace, client)
- adminUserRouter := admin_user.NewAdminUserRouter(namespace, client)
- permissionRouter := permission.NewAdminPermissionRouter(namespace, client)
- baseservice.RegisterRouters(r, adminCommonRouter, adminRoleRouter, adminUserRouter, permissionRouter)
- r.GET("/_healthz", func(c *gin.Context) {
- c.String(http.StatusOK, "ok")
- })
- r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
- return r
- }
|