in src/httpserver.go [28:58]
func corsMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// Set CORS headers
allowOrigin := os.Getenv("CORS_ALLOW_ORIGIN")
if allowOrigin == "" {
allowOrigin = "*"
}
w.Header().Set("Access-Control-Allow-Origin", allowOrigin)
allowMethods := os.Getenv("CORS_ALLOW_METHODS")
if allowMethods == "" {
allowMethods = "GET, POST, OPTIONS"
}
w.Header().Set("Access-Control-Allow-Methods", allowMethods)
allowHeaders := os.Getenv("CORS_ALLOW_HEADERS")
if allowHeaders == "" {
allowHeaders = "*"
}
w.Header().Set("Access-Control-Allow-Headers", allowHeaders)
// Handle preflight request
if r.Method == http.MethodOptions {
w.WriteHeader(http.StatusNoContent)
return
}
next.ServeHTTP(w, r)
})
}