Merge pull request #2997 from Caisin/fix/issue-2214-accept-encoding-passthrough
fix: skip Accept-Encoding during header passthrough (#2214)
This commit is contained in:
commit
e9fa2a4414
@ -61,8 +61,9 @@ var passthroughSkipHeaderNamesLower = map[string]struct{}{
|
|||||||
"cookie": {},
|
"cookie": {},
|
||||||
|
|
||||||
// Additional headers that should not be forwarded by name-matching passthrough rules.
|
// Additional headers that should not be forwarded by name-matching passthrough rules.
|
||||||
"host": {},
|
"host": {},
|
||||||
"content-length": {},
|
"content-length": {},
|
||||||
|
"accept-encoding": {},
|
||||||
|
|
||||||
// Do not passthrough credentials by wildcard/regex.
|
// Do not passthrough credentials by wildcard/regex.
|
||||||
"authorization": {},
|
"authorization": {},
|
||||||
|
|||||||
@ -79,3 +79,30 @@ func TestProcessHeaderOverride_NonTestKeepsClientHeaderPlaceholder(t *testing.T)
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, "trace-123", headers["X-Upstream-Trace"])
|
require.Equal(t, "trace-123", headers["X-Upstream-Trace"])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestProcessHeaderOverride_PassthroughSkipsAcceptEncoding(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
gin.SetMode(gin.TestMode)
|
||||||
|
recorder := httptest.NewRecorder()
|
||||||
|
ctx, _ := gin.CreateTestContext(recorder)
|
||||||
|
ctx.Request = httptest.NewRequest(http.MethodPost, "/v1/chat/completions", nil)
|
||||||
|
ctx.Request.Header.Set("X-Trace-Id", "trace-123")
|
||||||
|
ctx.Request.Header.Set("Accept-Encoding", "gzip")
|
||||||
|
|
||||||
|
info := &relaycommon.RelayInfo{
|
||||||
|
IsChannelTest: false,
|
||||||
|
ChannelMeta: &relaycommon.ChannelMeta{
|
||||||
|
HeadersOverride: map[string]any{
|
||||||
|
"*": "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
headers, err := processHeaderOverride(info, ctx)
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, "trace-123", headers["X-Trace-Id"])
|
||||||
|
|
||||||
|
_, hasAcceptEncoding := headers["Accept-Encoding"]
|
||||||
|
require.False(t, hasAcceptEncoding)
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user