refactor: Update ClaudeResponse error handling to use pointer for ClaudeError and improve nil checks in response processing
This commit is contained in:
@@ -183,7 +183,7 @@ type ClaudeResponse struct {
|
|||||||
Completion string `json:"completion,omitempty"`
|
Completion string `json:"completion,omitempty"`
|
||||||
StopReason string `json:"stop_reason,omitempty"`
|
StopReason string `json:"stop_reason,omitempty"`
|
||||||
Model string `json:"model,omitempty"`
|
Model string `json:"model,omitempty"`
|
||||||
Error ClaudeError `json:"error,omitempty"`
|
Error *ClaudeError `json:"error,omitempty"`
|
||||||
Usage *ClaudeUsage `json:"usage,omitempty"`
|
Usage *ClaudeUsage `json:"usage,omitempty"`
|
||||||
Index *int `json:"index,omitempty"`
|
Index *int `json:"index,omitempty"`
|
||||||
ContentBlock *ClaudeMediaMessage `json:"content_block,omitempty"`
|
ContentBlock *ClaudeMediaMessage `json:"content_block,omitempty"`
|
||||||
|
|||||||
@@ -485,7 +485,7 @@ func HandleStreamResponseData(c *gin.Context, info *relaycommon.RelayInfo, claud
|
|||||||
common.SysError("error unmarshalling stream response: " + err.Error())
|
common.SysError("error unmarshalling stream response: " + err.Error())
|
||||||
return service.OpenAIErrorWrapper(err, "stream_response_error", http.StatusInternalServerError)
|
return service.OpenAIErrorWrapper(err, "stream_response_error", http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
if claudeResponse.Error.Type != "" {
|
if claudeResponse.Error != nil && claudeResponse.Error.Type != "" {
|
||||||
return &dto.OpenAIErrorWithStatusCode{
|
return &dto.OpenAIErrorWithStatusCode{
|
||||||
Error: dto.OpenAIError{
|
Error: dto.OpenAIError{
|
||||||
Code: "stream_response_error",
|
Code: "stream_response_error",
|
||||||
@@ -598,7 +598,7 @@ func HandleClaudeResponseData(c *gin.Context, info *relaycommon.RelayInfo, claud
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return service.OpenAIErrorWrapper(err, "unmarshal_claude_response_failed", http.StatusInternalServerError)
|
return service.OpenAIErrorWrapper(err, "unmarshal_claude_response_failed", http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
if claudeResponse.Error.Type != "" {
|
if claudeResponse.Error != nil && claudeResponse.Error.Type != "" {
|
||||||
return &dto.OpenAIErrorWithStatusCode{
|
return &dto.OpenAIErrorWithStatusCode{
|
||||||
Error: dto.OpenAIError{
|
Error: dto.OpenAIError{
|
||||||
Message: claudeResponse.Error.Message,
|
Message: claudeResponse.Error.Message,
|
||||||
|
|||||||
Reference in New Issue
Block a user