fix: avoid relayError nil panic
This commit is contained in:
@@ -105,23 +105,25 @@ func (e *NewAPIError) SetMessage(message string) {
|
||||
func (e *NewAPIError) ToOpenAIError() OpenAIError {
|
||||
switch e.ErrorType {
|
||||
case ErrorTypeOpenAIError:
|
||||
return e.RelayError.(OpenAIError)
|
||||
if openAIError, ok := e.RelayError.(OpenAIError); ok {
|
||||
return openAIError
|
||||
}
|
||||
case ErrorTypeClaudeError:
|
||||
claudeError := e.RelayError.(ClaudeError)
|
||||
return OpenAIError{
|
||||
Message: e.Error(),
|
||||
Type: claudeError.Type,
|
||||
Param: "",
|
||||
Code: e.errorCode,
|
||||
}
|
||||
default:
|
||||
return OpenAIError{
|
||||
Message: e.Error(),
|
||||
Type: string(e.ErrorType),
|
||||
Param: "",
|
||||
Code: e.errorCode,
|
||||
if claudeError, ok := e.RelayError.(ClaudeError); ok {
|
||||
return OpenAIError{
|
||||
Message: e.Error(),
|
||||
Type: claudeError.Type,
|
||||
Param: "",
|
||||
Code: e.errorCode,
|
||||
}
|
||||
}
|
||||
}
|
||||
return OpenAIError{
|
||||
Message: e.Error(),
|
||||
Type: string(e.ErrorType),
|
||||
Param: "",
|
||||
Code: e.errorCode,
|
||||
}
|
||||
}
|
||||
|
||||
func (e *NewAPIError) ToClaudeError() ClaudeError {
|
||||
@@ -162,8 +164,11 @@ func NewOpenAIError(err error, errorCode ErrorCode, statusCode int) *NewAPIError
|
||||
|
||||
func NewErrorWithStatusCode(err error, errorCode ErrorCode, statusCode int) *NewAPIError {
|
||||
return &NewAPIError{
|
||||
Err: err,
|
||||
RelayError: nil,
|
||||
Err: err,
|
||||
RelayError: OpenAIError{
|
||||
Message: err.Error(),
|
||||
Type: string(errorCode),
|
||||
},
|
||||
ErrorType: ErrorTypeNewAPIError,
|
||||
StatusCode: statusCode,
|
||||
errorCode: errorCode,
|
||||
|
||||
Reference in New Issue
Block a user