From c71255461d5d5ca32eedff0af710b4d8e9e76107 Mon Sep 17 00:00:00 2001 From: RedwindA Date: Wed, 4 Jun 2025 07:58:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E4=BB=8E=20x-goo?= =?UTF-8?q?g-api-key=20header=20=E4=B8=AD=E8=8E=B7=E5=8F=96=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E5=AF=86=E9=92=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- middleware/auth.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/middleware/auth.go b/middleware/auth.go index ce86bb36..f387029f 100644 --- a/middleware/auth.go +++ b/middleware/auth.go @@ -189,6 +189,11 @@ func TokenAuth() func(c *gin.Context) { if skKey != "" { c.Request.Header.Set("Authorization", "Bearer "+skKey) } + // 从x-goog-api-key header中获取key + xGoogKey := c.Request.Header.Get("x-goog-api-key") + if xGoogKey != "" { + c.Request.Header.Set("Authorization", "Bearer "+xGoogKey) + } } key := c.Request.Header.Get("Authorization") parts := make([]string, 0) From c7e812361d7fbfb36dc257e9d0a15920ef6d994b Mon Sep 17 00:00:00 2001 From: RedwindA Date: Wed, 4 Jun 2025 08:09:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=E6=B5=81=E5=BC=8F?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E7=BB=93=E5=B0=BE=E7=9A=84[Done]=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E9=80=82=E5=BA=94Gemini=20API=E7=9A=84=E8=A1=8C?= =?UTF-8?q?=E4=B8=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- relay/channel/gemini/relay-gemini-native.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/relay/channel/gemini/relay-gemini-native.go b/relay/channel/gemini/relay-gemini-native.go index c055e299..8e2eae04 100644 --- a/relay/channel/gemini/relay-gemini-native.go +++ b/relay/channel/gemini/relay-gemini-native.go @@ -121,8 +121,8 @@ func GeminiTextGenerationStreamHandler(c *gin.Context, resp *http.Response, info usage.PromptTokensDetails.TextTokens = usage.PromptTokens usage.CompletionTokens = usage.TotalTokens - usage.PromptTokens - // 结束流式响应 - helper.Done(c) + // 移除流式响应结尾的[Done],因为Gemini API没有发送Done的行为 + //helper.Done(c) return usage, nil }