fix: merge runtime and channel header overrides, skip missing source headers
This commit is contained in:
@@ -173,10 +173,7 @@ func processHeaderOverride(info *common.RelayInfo, c *gin.Context) (map[string]s
|
||||
return headerOverride, nil
|
||||
}
|
||||
|
||||
headerOverrideSource := info.HeadersOverride
|
||||
if info.UseRuntimeHeadersOverride {
|
||||
headerOverrideSource = info.RuntimeHeadersOverride
|
||||
}
|
||||
headerOverrideSource := common.GetEffectiveHeaderOverride(info)
|
||||
|
||||
passAll := false
|
||||
var passthroughRegex []*regexp.Regexp
|
||||
|
||||
@@ -80,7 +80,7 @@ func TestProcessHeaderOverride_NonTestKeepsClientHeaderPlaceholder(t *testing.T)
|
||||
require.Equal(t, "trace-123", headers["X-Upstream-Trace"])
|
||||
}
|
||||
|
||||
func TestProcessHeaderOverride_RuntimeOverrideHasPriority(t *testing.T) {
|
||||
func TestProcessHeaderOverride_RuntimeOverrideMergesWithChannelOverride(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
gin.SetMode(gin.TestMode)
|
||||
@@ -107,8 +107,7 @@ func TestProcessHeaderOverride_RuntimeOverrideHasPriority(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "runtime-value", headers["X-Static"])
|
||||
require.Equal(t, "runtime-only", headers["X-Runtime"])
|
||||
_, ok := headers["X-Legacy"]
|
||||
require.False(t, ok)
|
||||
require.Equal(t, "legacy-only", headers["X-Legacy"])
|
||||
}
|
||||
|
||||
func TestProcessHeaderOverride_PassthroughSkipsAcceptEncoding(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user