(allowedOrigins []string)
| 3 | import "net/http" |
| 4 | |
| 5 | func makeImageCORSMiddleware(allowedOrigins []string) func(http.Handler) http.Handler { |
| 6 | allowed := make(map[string]struct{}, len(allowedOrigins)) |
| 7 | for _, o := range allowedOrigins { |
| 8 | allowed[o] = struct{}{} |
| 9 | } |
| 10 | return func(next http.Handler) http.Handler { |
| 11 | return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 12 | origin := r.Header.Get("Origin") |
| 13 | if origin != "" { |
| 14 | if _, ok := allowed[origin]; ok { |
| 15 | w.Header().Set("Access-Control-Allow-Origin", origin) |
| 16 | w.Header().Add("Vary", "Origin") |
| 17 | } |
| 18 | } |
| 19 | next.ServeHTTP(w, r) |
| 20 | }) |
| 21 | } |
| 22 | } |
no test coverage detected