()
| 211 | } |
| 212 | |
| 213 | func (e *NewAPIError) ToClaudeError() ClaudeError { |
| 214 | var result ClaudeError |
| 215 | switch e.errorType { |
| 216 | case ErrorTypeOpenAIError: |
| 217 | if openAIError, ok := e.RelayError.(OpenAIError); ok { |
| 218 | result = ClaudeError{ |
| 219 | Message: e.Error(), |
| 220 | Type: fmt.Sprintf("%v", openAIError.Code), |
| 221 | } |
| 222 | } |
| 223 | case ErrorTypeClaudeError: |
| 224 | if claudeError, ok := e.RelayError.(ClaudeError); ok { |
| 225 | result = claudeError |
| 226 | } |
| 227 | default: |
| 228 | result = ClaudeError{ |
| 229 | Message: e.Error(), |
| 230 | Type: string(e.errorType), |
| 231 | } |
| 232 | } |
| 233 | if e.errorCode != ErrorCodeCountTokenFailed { |
| 234 | result.Message = common.MaskSensitiveInfo(result.Message) |
| 235 | } |
| 236 | if result.Message == "" { |
| 237 | result.Message = string(e.errorType) |
| 238 | } |
| 239 | return result |
| 240 | } |
| 241 | |
| 242 | type NewAPIErrorOptions func(*NewAPIError) |
| 243 |
no test coverage detected