Files
b2b/app/delivery/middleware/cors.go
2026-03-25 02:33:06 +01:00

31 lines
709 B
Go

package middleware
import (
"strings"
"git.ma-al.com/goc_daniel/b2b/app/config"
"github.com/gofiber/fiber/v3"
)
// CORSMiddleware creates CORS middleware
func CORSMiddleware() fiber.Handler {
return func(c fiber.Ctx) error {
if strings.Contains(c.Get("Host"), "localhost") {
c.Set("Access-Control-Allow-Origin", c.Get("Host"))
} else {
origins := strings.Join(config.Get().Cors.Origins, ",")
c.Set("Access-Control-Allow-Origin", origins)
}
c.Set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS")
c.Set("Access-Control-Allow-Headers", "Content-Type, Authorization")
if c.Method() == "OPTIONS" {
return c.SendStatus(fiber.StatusOK)
}
return c.Next()
}
}