@@ -85,11 +85,13 @@ type Listener struct {
85
85
// RandomPort is used only for some testing purposes
86
86
RandomPort bool `hcl:"-"`
87
87
88
- CorsEnabledRaw interface {} `hcl:"cors_enabled"`
89
- CorsEnabled * bool `hcl:"-"`
90
- CorsAllowedOrigins []string `hcl:"cors_allowed_origins"`
91
- CorsAllowedHeaders []string `hcl:"-"`
92
- CorsAllowedHeadersRaw []string `hcl:"cors_allowed_headers"`
88
+ CorsEnabledRaw interface {} `hcl:"cors_enabled"`
89
+ CorsEnabled * bool `hcl:"-"`
90
+ CorsDisableDefaultAllowedOriginValuesRaw interface {} `hcl:"cors_disable_default_allowed_origin_values"`
91
+ CorsDisableDefaultAllowedOriginValues * bool `hcl:"-"`
92
+ CorsAllowedOrigins []string `hcl:"cors_allowed_origins"`
93
+ CorsAllowedHeaders []string `hcl:"-"`
94
+ CorsAllowedHeadersRaw []string `hcl:"cors_allowed_headers"`
93
95
}
94
96
95
97
func (l * Listener ) GoString () string {
@@ -330,6 +332,15 @@ func ParseListeners(result *SharedConfig, list *ast.ObjectList) error {
330
332
l .CorsEnabledRaw = nil
331
333
}
332
334
335
+ if l .CorsDisableDefaultAllowedOriginValuesRaw != nil {
336
+ disabled , err := parseutil .ParseBool (l .CorsDisableDefaultAllowedOriginValuesRaw )
337
+ if err != nil {
338
+ return multierror .Prefix (fmt .Errorf ("invalid value for cors_disable_default_allowed_origin_values: %w" , err ), fmt .Sprintf ("listeners.%d" , i ))
339
+ }
340
+ l .CorsDisableDefaultAllowedOriginValues = & disabled
341
+ l .CorsDisableDefaultAllowedOriginValuesRaw = nil
342
+ }
343
+
333
344
if strutil .StrListContains (l .CorsAllowedOrigins , "*" ) && len (l .CorsAllowedOrigins ) > 1 {
334
345
return multierror .Prefix (errors .New ("cors_allowed_origins must only contain a wildcard or only non-wildcard values" ), fmt .Sprintf ("listeners.%d" , i ))
335
346
}
0 commit comments