From 0a04a76c711acfa8d7dbd74577cc958ece27f68f Mon Sep 17 00:00:00 2001 From: CaIon <1808837298@qq.com> Date: Fri, 27 Jun 2025 22:45:36 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20refactor=20JSON=20encodin?= =?UTF-8?q?g=20and=20decoding=20in=20OpenAI=20handlers=20for=20improved=20?= =?UTF-8?q?consistency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- relay/channel/openai/relay-openai.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/relay/channel/openai/relay-openai.go b/relay/channel/openai/relay-openai.go index 220f1f95..c2def5d9 100644 --- a/relay/channel/openai/relay-openai.go +++ b/relay/channel/openai/relay-openai.go @@ -2,7 +2,6 @@ package openai import ( "bytes" - "encoding/json" "fmt" "io" "math" @@ -220,7 +219,7 @@ func OpenaiHandler(c *gin.Context, resp *http.Response, info *relaycommon.RelayI switch info.RelayFormat { case relaycommon.RelayFormatOpenAI: if forceFormat { - responseBody, err = json.Marshal(simpleResponse) + responseBody, err = common.EncodeJson(simpleResponse) if err != nil { return service.OpenAIErrorWrapper(err, "marshal_response_body_failed", http.StatusInternalServerError), nil } @@ -229,7 +228,7 @@ func OpenaiHandler(c *gin.Context, resp *http.Response, info *relaycommon.RelayI } case relaycommon.RelayFormatClaude: claudeResp := service.ResponseOpenAI2Claude(&simpleResponse, info) - claudeRespStr, err := json.Marshal(claudeResp) + claudeRespStr, err := common.EncodeJson(claudeResp) if err != nil { return service.OpenAIErrorWrapper(err, "marshal_response_body_failed", http.StatusInternalServerError), nil } @@ -368,7 +367,7 @@ func OpenaiRealtimeHandler(c *gin.Context, info *relaycommon.RelayInfo) (*dto.Op } realtimeEvent := &dto.RealtimeEvent{} - err = json.Unmarshal(message, realtimeEvent) + err = common.DecodeJson(message, realtimeEvent) if err != nil { errChan <- fmt.Errorf("error unmarshalling message: %v", err) return @@ -428,7 +427,7 @@ func OpenaiRealtimeHandler(c *gin.Context, info *relaycommon.RelayInfo) (*dto.Op } info.SetFirstResponseTime() realtimeEvent := &dto.RealtimeEvent{} - err = json.Unmarshal(message, realtimeEvent) + err = common.DecodeJson(message, realtimeEvent) if err != nil { errChan <- fmt.Errorf("error unmarshalling message: %v", err) return @@ -560,7 +559,7 @@ func OpenaiHandlerWithUsage(c *gin.Context, resp *http.Response, info *relaycomm } var usageResp dto.SimpleResponse - err = json.Unmarshal(responseBody, &usageResp) + err = common.DecodeJson(responseBody, &usageResp) if err != nil { return service.OpenAIErrorWrapper(err, "parse_response_body_failed", http.StatusInternalServerError), nil }