diff --git a/controller/relay-text.go b/controller/relay-text.go index 0059ccf..70370de 100644 --- a/controller/relay-text.go +++ b/controller/relay-text.go @@ -414,13 +414,18 @@ func relayTextHelper(c *gin.Context, relayMode int) *OpenAIErrorWithStatusCode { } case APITypeTencent: req.Header.Set("Authorization", apiKey) + case APITypeGemini: + req.Header.Set("Content-Type", "application/json") default: req.Header.Set("Authorization", "Bearer "+apiKey) } - req.Header.Set("Content-Type", c.Request.Header.Get("Content-Type")) - req.Header.Set("Accept", c.Request.Header.Get("Accept")) - if isStream && c.Request.Header.Get("Accept") == "" { - req.Header.Set("Accept", "text/event-stream") + if apiType != APITypeGemini { + // 设置公共头部... + req.Header.Set("Content-Type", c.Request.Header.Get("Content-Type")) + req.Header.Set("Accept", c.Request.Header.Get("Accept")) + if isStream && c.Request.Header.Get("Accept") == "" { + req.Header.Set("Accept", "text/event-stream") + } } //req.HeaderBar.Set("Connection", c.Request.HeaderBar.Get("Connection")) resp, err = httpClient.Do(req)