mirror of
https://github.com/QuantumNous/new-api.git
synced 2026-04-30 16:41:45 +00:00
fix: update error types for upstream errors and JSON marshal failure
This commit is contained in:
@@ -11,7 +11,7 @@ func DeepCopy[T any](src *T) (*T, error) {
|
|||||||
return nil, fmt.Errorf("copy source cannot be nil")
|
return nil, fmt.Errorf("copy source cannot be nil")
|
||||||
}
|
}
|
||||||
var dst T
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -488,14 +488,14 @@ func (c *ClaudeResponse) GetClaudeError() *types.ClaudeError {
|
|||||||
case string:
|
case string:
|
||||||
// 处理简单字符串错误
|
// 处理简单字符串错误
|
||||||
return &types.ClaudeError{
|
return &types.ClaudeError{
|
||||||
Type: "error",
|
Type: "upstream_error",
|
||||||
Message: err,
|
Message: err,
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
// 未知类型,尝试转换为字符串
|
// 未知类型,尝试转换为字符串
|
||||||
return &types.ClaudeError{
|
return &types.ClaudeError{
|
||||||
Type: "unknown_error",
|
Type: "unknown_upstream_error",
|
||||||
Message: fmt.Sprintf("%v", err),
|
Message: fmt.Sprintf("unknown_error: %v", err),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ func TextHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *types
|
|||||||
|
|
||||||
jsonData, err := common.Marshal(convertedRequest)
|
jsonData, err := common.Marshal(convertedRequest)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return types.NewError(err, types.ErrorCodeConvertRequestFailed, types.ErrOptionWithSkipRetry())
|
return types.NewError(err, types.ErrorCodeJsonMarshalFailed, types.ErrOptionWithSkipRetry())
|
||||||
}
|
}
|
||||||
|
|
||||||
// apply param override
|
// apply param override
|
||||||
|
|||||||
Reference in New Issue
Block a user