mirror of
https://github.com/alibaba/higress.git
synced 2026-06-09 04:37:31 +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 (
|
var (
|
||||||
headersCtxKeyMapping = map[string]string{
|
headersCtxKeyMapping = map[string]string{
|
||||||
util.HeaderAuthority: ctxOriginalHost,
|
util.HeaderAuthority: ctxOriginalHost,
|
||||||
util.HeaderPath: ctxOriginalPath,
|
util.HeaderPath: ctxOriginalPath,
|
||||||
util.HeaderAuthorization: ctxOriginalAuth,
|
|
||||||
}
|
}
|
||||||
headerToOriginalHeaderMapping = map[string]string{
|
headerToOriginalHeaderMapping = map[string]string{
|
||||||
util.HeaderAuthority: util.HeaderOriginalHost,
|
util.HeaderAuthority: util.HeaderOriginalHost,
|
||||||
util.HeaderPath: util.HeaderOriginalPath,
|
util.HeaderPath: util.HeaderOriginalPath,
|
||||||
util.HeaderAuthorization: util.HeaderOriginalAuth,
|
|
||||||
}
|
}
|
||||||
pathSuffixToApiName = []pair[string, provider.ApiName]{
|
pathSuffixToApiName = []pair[string, provider.ApiName]{
|
||||||
// OpenAI style
|
// OpenAI style
|
||||||
@@ -144,6 +142,11 @@ func initContext(ctx wrapper.HttpContext) {
|
|||||||
for _, originHeader := range headerToOriginalHeaderMapping {
|
for _, originHeader := range headerToOriginalHeaderMapping {
|
||||||
proxywasm.RemoveHttpRequestHeader(originHeader)
|
proxywasm.RemoveHttpRequestHeader(originHeader)
|
||||||
}
|
}
|
||||||
|
originalAuth, _ := proxywasm.GetHttpRequestHeader(util.HeaderOriginalAuth)
|
||||||
|
if originalAuth == "" {
|
||||||
|
value, _ := proxywasm.GetHttpRequestHeader(util.HeaderAuthorization)
|
||||||
|
ctx.SetContext(ctxOriginalAuth, value)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func saveContextsToHeaders(ctx wrapper.HttpContext) {
|
func saveContextsToHeaders(ctx wrapper.HttpContext) {
|
||||||
@@ -161,6 +164,10 @@ func saveContextsToHeaders(ctx wrapper.HttpContext) {
|
|||||||
_ = proxywasm.ReplaceHttpRequestHeader(originalHeader, originalValue)
|
_ = 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 {
|
func onHttpRequestHeader(ctx wrapper.HttpContext, pluginConfig config.PluginConfig) types.Action {
|
||||||
|
|||||||
Reference in New Issue
Block a user