Commit 72afb727 by Calcium-Ion Committed by GitHub

Merge pull request #1415 from feitianbubu/pr/fix-relayError-nil

fix: avoid relayError nil panic
parents 096aad48 e3d97e4d
...@@ -105,23 +105,25 @@ func (e *NewAPIError) SetMessage(message string) { ...@@ -105,23 +105,25 @@ func (e *NewAPIError) SetMessage(message string) {
func (e *NewAPIError) ToOpenAIError() OpenAIError { func (e *NewAPIError) ToOpenAIError() OpenAIError {
switch e.ErrorType { switch e.ErrorType {
case ErrorTypeOpenAIError: case ErrorTypeOpenAIError:
return e.RelayError.(OpenAIError) if openAIError, ok := e.RelayError.(OpenAIError); ok {
case ErrorTypeClaudeError: return openAIError
claudeError := e.RelayError.(ClaudeError)
return OpenAIError{
Message: e.Error(),
Type: claudeError.Type,
Param: "",
Code: e.errorCode,
} }
default: case ErrorTypeClaudeError:
return OpenAIError{ if claudeError, ok := e.RelayError.(ClaudeError); ok {
Message: e.Error(), return OpenAIError{
Type: string(e.ErrorType), Message: e.Error(),
Param: "", Type: claudeError.Type,
Code: e.errorCode, Param: "",
Code: e.errorCode,
}
} }
} }
return OpenAIError{
Message: e.Error(),
Type: string(e.ErrorType),
Param: "",
Code: e.errorCode,
}
} }
func (e *NewAPIError) ToClaudeError() ClaudeError { func (e *NewAPIError) ToClaudeError() ClaudeError {
...@@ -162,8 +164,11 @@ func NewOpenAIError(err error, errorCode ErrorCode, statusCode int) *NewAPIError ...@@ -162,8 +164,11 @@ func NewOpenAIError(err error, errorCode ErrorCode, statusCode int) *NewAPIError
func NewErrorWithStatusCode(err error, errorCode ErrorCode, statusCode int) *NewAPIError { func NewErrorWithStatusCode(err error, errorCode ErrorCode, statusCode int) *NewAPIError {
return &NewAPIError{ return &NewAPIError{
Err: err, Err: err,
RelayError: nil, RelayError: OpenAIError{
Message: err.Error(),
Type: string(errorCode),
},
ErrorType: ErrorTypeNewAPIError, ErrorType: ErrorTypeNewAPIError,
StatusCode: statusCode, StatusCode: statusCode,
errorCode: errorCode, errorCode: errorCode,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment