mirror of
https://github.com/alibaba/higress.git
synced 2026-02-06 23:21:08 +08:00
fix(ai-proxy): Avoid overwriting the existing original auth header (#2904)
This commit is contained in:
@@ -39,14 +39,12 @@ type pair[K, V any] struct {
|
||||
|
||||
var (
|
||||
headersCtxKeyMapping = map[string]string{
|
||||
util.HeaderAuthority: ctxOriginalHost,
|
||||
util.HeaderPath: ctxOriginalPath,
|
||||
util.HeaderAuthorization: ctxOriginalAuth,
|
||||
util.HeaderAuthority: ctxOriginalHost,
|
||||
util.HeaderPath: ctxOriginalPath,
|
||||
}
|
||||
headerToOriginalHeaderMapping = map[string]string{
|
||||
util.HeaderAuthority: util.HeaderOriginalHost,
|
||||
util.HeaderPath: util.HeaderOriginalPath,
|
||||
util.HeaderAuthorization: util.HeaderOriginalAuth,
|
||||
util.HeaderAuthority: util.HeaderOriginalHost,
|
||||
util.HeaderPath: util.HeaderOriginalPath,
|
||||
}
|
||||
pathSuffixToApiName = []pair[string, provider.ApiName]{
|
||||
// OpenAI style
|
||||
@@ -144,6 +142,11 @@ func initContext(ctx wrapper.HttpContext) {
|
||||
for _, originHeader := range headerToOriginalHeaderMapping {
|
||||
proxywasm.RemoveHttpRequestHeader(originHeader)
|
||||
}
|
||||
originalAuth, _ := proxywasm.GetHttpRequestHeader(util.HeaderOriginalAuth)
|
||||
if originalAuth == "" {
|
||||
value, _ := proxywasm.GetHttpRequestHeader(util.HeaderAuthorization)
|
||||
ctx.SetContext(ctxOriginalAuth, value)
|
||||
}
|
||||
}
|
||||
|
||||
func saveContextsToHeaders(ctx wrapper.HttpContext) {
|
||||
@@ -161,6 +164,10 @@ func saveContextsToHeaders(ctx wrapper.HttpContext) {
|
||||
_ = proxywasm.ReplaceHttpRequestHeader(originalHeader, originalValue)
|
||||
}
|
||||
}
|
||||
originalValue := ctx.GetStringContext(ctxOriginalAuth, "")
|
||||
if originalValue != "" {
|
||||
_ = proxywasm.ReplaceHttpRequestHeader(util.HeaderOriginalAuth, originalValue)
|
||||
}
|
||||
}
|
||||
|
||||
func onHttpRequestHeader(ctx wrapper.HttpContext, pluginConfig config.PluginConfig) types.Action {
|
||||
|
||||
Reference in New Issue
Block a user