mirror of
https://github.com/QuantumNous/new-api.git
synced 2026-04-30 15:41:47 +00:00
feat: unify param/header overrides with retry-aware conditions and flexible header operations
This commit is contained in:
@@ -168,11 +168,19 @@ func applyHeaderOverridePlaceholders(template string, c *gin.Context, apiKey str
|
||||
// Passthrough rules are applied first, then normal overrides are applied, so explicit overrides win.
|
||||
func processHeaderOverride(info *common.RelayInfo, c *gin.Context) (map[string]string, error) {
|
||||
headerOverride := make(map[string]string)
|
||||
if info == nil {
|
||||
return headerOverride, nil
|
||||
}
|
||||
|
||||
headerOverrideSource := info.HeadersOverride
|
||||
if info.UseRuntimeHeadersOverride {
|
||||
headerOverrideSource = info.RuntimeHeadersOverride
|
||||
}
|
||||
|
||||
passAll := false
|
||||
var passthroughRegex []*regexp.Regexp
|
||||
if !info.IsChannelTest {
|
||||
for k := range info.HeadersOverride {
|
||||
for k := range headerOverrideSource {
|
||||
key := strings.TrimSpace(k)
|
||||
if key == "" {
|
||||
continue
|
||||
@@ -232,7 +240,7 @@ func processHeaderOverride(info *common.RelayInfo, c *gin.Context) (map[string]s
|
||||
}
|
||||
}
|
||||
|
||||
for k, v := range info.HeadersOverride {
|
||||
for k, v := range headerOverrideSource {
|
||||
if isHeaderPassthroughRuleKey(k) {
|
||||
continue
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user