1
0
mirror of https://github.com/kubernetes/ingress-nginx.git synced 2025-02-06 09:44:13 +00:00

Annotations: Reload on custom header changes. (#11709)

This commit is contained in:
Jurgen Goelen 2025-01-09 21:36:31 +01:00 committed by GitHub
parent 69fd353086
commit 29d1e2014b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 29 additions and 2 deletions

View File

@ -18,6 +18,7 @@ package customheaders
import (
"fmt"
"reflect"
"regexp"
"k8s.io/klog/v2"
@ -35,6 +36,18 @@ type Config struct {
Headers map[string]string `json:"headers,omitempty"`
}
// Equal tests for equality between two Config types
func (c1 *Config) Equal(c2 *Config) bool {
if c1 == c2 {
return true
}
if c1 == nil || c2 == nil {
return false
}
return reflect.DeepEqual(c1.Headers, c2.Headers)
}
var (
headerRegexp = regexp.MustCompile(`^[a-zA-Z\d\-_]+$`)
valueRegexp = regexp.MustCompile(`^[a-zA-Z\d_ :;.,\\/"'?!(){}\[\]@<>=\-+*#$&\x60|~^%]+$`)

View File

@ -467,6 +467,10 @@ func (l1 *Location) Equal(l2 *Location) bool {
return false
}
if !l1.CustomHeaders.Equal(&l2.CustomHeaders) {
return false
}
return true
}

View File

@ -302,7 +302,12 @@
"validationDepth": 0
},
"use-port-in-redirects": false,
"configuration-snippet": ""
"configuration-snippet": "",
"customHeaders": {
"headers": {
"Server": "HAL9000"
}
}
}]
}, {
"hostname": "dev.mycompany.com",

View File

@ -302,7 +302,12 @@
"validationDepth": 0
},
"use-port-in-redirects": false,
"configuration-snippet": ""
"configuration-snippet": "",
"customHeaders": {
"headers": {
"Server": "HAL9000"
}
}
}]
}, {
"hostname": "dev.mycompany.com",