liuhaijun 3f5f28d785 add sheduling agent
Change-Id: I89f35fb3984044c57f10727432755012542f9fd8
2023-11-16 10:55:57 +00:00

76 lines
1.7 KiB
Go

package routers
import (
"git.inspur.com/sbg-jszt/cfn/cfn-schedule-agent/config"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule-agent/internal/middleware"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule-agent/internal/pkg/errors"
response2 "git.inspur.com/sbg-jszt/cfn/cfn-schedule-agent/internal/pkg/response"
"github.com/gin-gonic/gin"
"io/ioutil"
"net/http"
)
func SetRouters() *gin.Engine {
var r *gin.Engine
if config.Config.Debug == false {
// 生产模式
r = ReleaseRouter()
r.Use(
middleware.AuthenticationHandler(),
middleware.RequestCostHandler(),
middleware.CustomLogger(),
middleware.CustomRecovery(),
middleware.CorsHandler(),
middleware.AppContextHandler(),
middleware.AuthorizationHandler(),
)
} else {
// 开发调试模式
r = gin.New()
r.Use(
//gin.Logger(),
middleware.AuthenticationHandler(),
middleware.RequestCostHandler(),
middleware.CustomLogger(),
middleware.CustomRecovery(),
middleware.CorsHandler(),
middleware.AppContextHandler(),
middleware.AuthorizationHandler(),
)
}
//// set up trusted agents
//err := r.SetTrustedProxies([]string{"127.0.0.1"})
//if err != nil {
// panic(err)
//}
// ping
//r.Any("/ping", func(c *gin.Context) {
// c.AbortWithStatusJSON(http.StatusOK, gin.H{
// "message": "pong!",
// })
//})
// 设置 API 路由
setApiRoute(r)
r.NoRoute(func(c *gin.Context) {
response2.Resp().SetHttpCode(http.StatusNotFound).FailCode(c, errors.NotFound)
})
return r
}
// ReleaseRouter 生产模式使用官方建议设置为 release 模式
func ReleaseRouter() *gin.Engine {
// 切换到生产模式
gin.SetMode(gin.ReleaseMode)
// 禁用 gin 输出接口访问日志
gin.DefaultWriter = ioutil.Discard
engine := gin.New()
return engine
}