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() } }