feat: 上游支持gemini格式透传

This commit is contained in:
tbphp
2025-06-29 09:26:57 +08:00
parent d3552bbfed
commit 96d3fc762a

View File

@@ -259,8 +259,20 @@ func (ps *ProxyServer) executeRequestWithRetry(c *gin.Context, startTime time.Ti
}
}
// Set authorization header
req.Header.Set("Authorization", "Bearer "+keyInfo.Key)
if c.GetHeader("Authorization") != "" {
req.Header.Set("Authorization", "Bearer "+keyInfo.Key)
req.Header.Del("X-Goog-Api-Key")
} else if c.GetHeader("X-Goog-Api-Key") != "" || c.Query("key") != "" {
req.Header.Set("X-Goog-Api-Key", keyInfo.Key)
req.Header.Del("Authorization")
} else {
c.JSON(http.StatusUnauthorized, gin.H{
"error": "API key required. Please provide a key in 'Authorization' or 'X-Goog-Api-Key' header.",
"code": errors.ErrAuthMissing,
})
c.Abort()
return
}
// Choose appropriate client based on request type
var client *http.Client