goext/ginext/engine.go
2023-07-18 14:40:10 +02:00

43 lines
775 B
Go

package ginext
import "github.com/gin-gonic/gin"
type GinWrapper struct {
engine *gin.Engine
SuppressGinLogs bool
allowCors bool
ginDebug bool
returnRawErrors bool
}
func NewEngine(allowCors bool, ginDebug bool, returnRawErrors bool) *GinWrapper {
engine := gin.New()
wrapper := &GinWrapper{
engine: engine,
SuppressGinLogs: false,
allowCors: allowCors,
ginDebug: ginDebug,
returnRawErrors: returnRawErrors,
}
engine.RedirectFixedPath = false
engine.RedirectTrailingSlash = false
if allowCors {
engine.Use(CorsMiddleware())
}
if ginDebug {
ginlogger := gin.Logger()
engine.Use(func(context *gin.Context) {
if !wrapper.SuppressGinLogs {
ginlogger(context)
}
})
}
return wrapper
}