Skip to content

Commit

Permalink
Append elements on match, instead of removing for cors-annotations (#…
Browse files Browse the repository at this point in the history
…8185)

* fixes #8168 by appending elements on match, instead of removing

* refactor the corsOriginRegex comparison, and initialize CorsAllowOrigin
  • Loading branch information
L1ghtman2k authored Feb 13, 2022
1 parent 86964b1 commit 5754eb6
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions internal/ingress/annotations/cors/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,19 +121,22 @@ func (c cors) Parse(ing *networking.Ingress) (interface{}, error) {
config.CorsEnabled = false
}

config.CorsAllowOrigin = []string{}
unparsedOrigins, err := parser.GetStringAnnotation("cors-allow-origin", ing)
if err == nil {
config.CorsAllowOrigin = strings.Split(unparsedOrigins, ",")
for i, origin := range config.CorsAllowOrigin {
origins := strings.Split(unparsedOrigins, ",")
for _, origin := range origins {
origin = strings.TrimSpace(origin)
if origin == "*" {
config.CorsAllowOrigin = []string{"*"}
break
}

if !corsOriginRegex.MatchString(origin) {
klog.Errorf("Error parsing cors-allow-origin parameters. Supplied incorrect origin: %s. Skipping.", origin)
config.CorsAllowOrigin = append(config.CorsAllowOrigin[:i], config.CorsAllowOrigin[i+1:]...)
continue
}
config.CorsAllowOrigin = append(config.CorsAllowOrigin, origin)
klog.Infof("Current config.corsAllowOrigin %v", config.CorsAllowOrigin)
}
} else {
Expand Down

0 comments on commit 5754eb6

Please sign in to comment.