From 33d601db821cae9335a1785ea6c6e11be13ba299 Mon Sep 17 00:00:00 2001 From: CaIon Date: Tue, 26 Aug 2025 16:26:56 +0800 Subject: [PATCH] fix: update error types for upstream errors and JSON marshal failure --- common/copy.go | 2 +- dto/claude.go | 6 +++--- relay/compatible_handler.go | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/copy.go b/common/copy.go index 18f2c5ba3..3edb2fa25 100644 --- a/common/copy.go +++ b/common/copy.go @@ -11,7 +11,7 @@ func DeepCopy[T any](src *T) (*T, error) { return nil, fmt.Errorf("copy source cannot be nil") } var dst T - err := copier.CopyWithOption(&dst, src, copier.Option{DeepCopy: true, IgnoreEmpty: false}) + err := copier.CopyWithOption(&dst, src, copier.Option{DeepCopy: true, IgnoreEmpty: true}) if err != nil { return nil, err } diff --git a/dto/claude.go b/dto/claude.go index 5c4396f23..963e588bf 100644 --- a/dto/claude.go +++ b/dto/claude.go @@ -488,14 +488,14 @@ func (c *ClaudeResponse) GetClaudeError() *types.ClaudeError { case string: // 处理简单字符串错误 return &types.ClaudeError{ - Type: "error", + Type: "upstream_error", Message: err, } default: // 未知类型,尝试转换为字符串 return &types.ClaudeError{ - Type: "unknown_error", - Message: fmt.Sprintf("%v", err), + Type: "unknown_upstream_error", + Message: fmt.Sprintf("unknown_error: %v", err), } } } diff --git a/relay/compatible_handler.go b/relay/compatible_handler.go index 56d65a3f3..1f6c525b5 100644 --- a/relay/compatible_handler.go +++ b/relay/compatible_handler.go @@ -130,7 +130,7 @@ func TextHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *types jsonData, err := common.Marshal(convertedRequest) if err != nil { - return types.NewError(err, types.ErrorCodeConvertRequestFailed, types.ErrOptionWithSkipRetry()) + return types.NewError(err, types.ErrorCodeJsonMarshalFailed, types.ErrOptionWithSkipRetry()) } // apply param override