mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +00:00
34 lines
899 B
Go
34 lines
899 B
Go
package middlewares
|
|
|
|
import (
|
|
"github.com/emilybache/gildedrose-refactoring-kata/lib"
|
|
cors "github.com/rs/cors/wrapper/gin"
|
|
)
|
|
|
|
type CorsMiddleware struct {
|
|
handler lib.RequestHandler
|
|
logger lib.Logger
|
|
env lib.Env
|
|
}
|
|
|
|
func NewCorsMiddleware(handler lib.RequestHandler, logger lib.Logger, env lib.Env) CorsMiddleware {
|
|
return CorsMiddleware{
|
|
handler: handler,
|
|
logger: logger,
|
|
env: env,
|
|
}
|
|
}
|
|
|
|
func (this CorsMiddleware) Setup() {
|
|
this.logger.Info("Setting up cors middleware")
|
|
|
|
debug := this.env.Environment == "development"
|
|
this.handler.Gin.Use(cors.New(cors.Options{
|
|
AllowCredentials: true,
|
|
AllowOriginFunc: func(origin string) bool { return true },
|
|
AllowedHeaders: []string{"*"},
|
|
AllowedMethods: []string{"GET", "POST", "PUT", "HEAD", "OPTIONS"},
|
|
Debug: debug,
|
|
}))
|
|
}
|