initial commit
This commit is contained in:
51
gin.go
Normal file
51
gin.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func setupGin() *gin.Engine {
|
||||
if os.Getenv("GIN_MODE") == "" {
|
||||
gin.SetMode(gin.ReleaseMode)
|
||||
}
|
||||
|
||||
r := ginNewEngine()
|
||||
r.GET("/health", func(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{"status": "UP"})
|
||||
})
|
||||
setupDnsApi(r)
|
||||
setupAddrMapApi(r)
|
||||
setupPrometheus(r)
|
||||
return r
|
||||
}
|
||||
|
||||
func ginNewEngine() *gin.Engine {
|
||||
var r *gin.Engine
|
||||
|
||||
switch gin.Mode() {
|
||||
case gin.ReleaseMode:
|
||||
r = gin.New()
|
||||
ginCustomLogger(r)
|
||||
default:
|
||||
r = gin.Default()
|
||||
}
|
||||
|
||||
r.Use(ginSetServerHeader)
|
||||
return r
|
||||
}
|
||||
|
||||
func ginCustomLogger(r *gin.Engine) {
|
||||
r.Use(gin.LoggerWithConfig(gin.LoggerConfig{
|
||||
SkipPaths: []string{
|
||||
"/health",
|
||||
"/metrics/",
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func ginSetServerHeader(c *gin.Context) {
|
||||
c.Writer.Header().Set("Server", userAgent)
|
||||
}
|
Reference in New Issue
Block a user