v0.0.486 add ginext -> CorsAllowHeader
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 3m51s

This commit is contained in:
2024-07-18 17:29:18 +02:00
parent 84f124dd4d
commit 1962cb3c52
3 changed files with 9 additions and 5 deletions

View File

@@ -21,6 +21,7 @@ type GinWrapper struct {
opt Options
allowCors bool
corsAllowHeader []string
ginDebug bool
bufferBody bool
requestTimeout time.Duration
@@ -41,6 +42,7 @@ type ginRouteSpec struct {
type Options struct {
AllowCors *bool // Add cors handler to allow all CORS requests on the default http methods
CorsAllowHeader *[]string // override the default values of Access-Control-Allow-Headers (AllowCors must be true)
GinDebug *bool // Set gin.debug to true (adds more logs)
SuppressGinLogs *bool // Suppress our custom gin logs (even if GinDebug == true)
BufferBody *bool // Buffers the input body stream, this way the ginext error handler can later include the whole request body
@@ -75,6 +77,7 @@ func NewEngine(opt Options) *GinWrapper {
opt: opt,
suppressGinLogs: langext.Coalesce(opt.SuppressGinLogs, false),
allowCors: langext.Coalesce(opt.AllowCors, false),
corsAllowHeader: langext.Coalesce(opt.CorsAllowHeader, []string{"Content-Type", "Content-Length", "Accept-Encoding", "X-CSRF-Token", "Authorization", "accept", "origin", "Cache-Control", "X-Requested-With"}),
ginDebug: ginDebug,
bufferBody: langext.Coalesce(opt.BufferBody, false),
requestTimeout: langext.Coalesce(opt.Timeout, 24*time.Hour),
@@ -87,7 +90,7 @@ func NewEngine(opt Options) *GinWrapper {
engine.RedirectTrailingSlash = false
if wrapper.allowCors {
engine.Use(CorsMiddleware())
engine.Use(CorsMiddleware(wrapper.corsAllowHeader))
}
if ginDebug && !wrapper.suppressGinLogs {