Files
simrsx-be/pkg/cors-manager-mw/cors-manager-mw.go
T
dpurbosakti a448f43b67 add cors
2025-08-19 14:26:39 +07:00

32 lines
669 B
Go

package corsmanagermw
import (
"net/http"
a "github.com/karincake/apem"
)
type CorsCfg struct {
AllowedOrigins []string `yaml:"allowedOrigins"`
AllowedMethod string `yaml:"allowedMethod"`
}
var cfg CorsCfg
func SetCors(next http.Handler) http.Handler {
a.ParseSingleCfg(&cfg)
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Methods", cfg.AllowedMethod)
w.Header().Set("Access-Control-Allow-Headers", "Content-Type, Authorization")
if r.Method == "OPTIONS" {
w.WriteHeader(http.StatusOK)
return
}
next.ServeHTTP(w, r)
})
}