mirror of
https://github.com/QuantumNous/new-api.git
synced 2026-03-29 23:10:35 +00:00
* feat: codex channel * feat: codex channel * feat: codex oauth flow * feat: codex refresh cred * feat: codex usage * fix: codex err message detail * fix: codex setting ui * feat: codex refresh cred task * fix: import err * fix: codex store must be false * fix: chat -> responses tool call * fix: chat -> responses tool call
94 lines
2.0 KiB
Go
94 lines
2.0 KiB
Go
package dto
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/QuantumNous/new-api/common"
|
|
"github.com/QuantumNous/new-api/types"
|
|
)
|
|
|
|
//type OpenAIError struct {
|
|
// Message string `json:"message"`
|
|
// Type string `json:"type"`
|
|
// Param string `json:"param"`
|
|
// Code any `json:"code"`
|
|
//}
|
|
|
|
type OpenAIErrorWithStatusCode struct {
|
|
Error types.OpenAIError `json:"error"`
|
|
StatusCode int `json:"status_code"`
|
|
LocalError bool
|
|
}
|
|
|
|
type GeneralErrorResponse struct {
|
|
Error json.RawMessage `json:"error"`
|
|
Message string `json:"message"`
|
|
Msg string `json:"msg"`
|
|
Err string `json:"err"`
|
|
ErrorMsg string `json:"error_msg"`
|
|
Metadata json.RawMessage `json:"metadata,omitempty"`
|
|
Detail string `json:"detail,omitempty"`
|
|
Header struct {
|
|
Message string `json:"message"`
|
|
} `json:"header"`
|
|
Response struct {
|
|
Error struct {
|
|
Message string `json:"message"`
|
|
} `json:"error"`
|
|
} `json:"response"`
|
|
}
|
|
|
|
func (e GeneralErrorResponse) TryToOpenAIError() *types.OpenAIError {
|
|
var openAIError types.OpenAIError
|
|
if len(e.Error) > 0 {
|
|
err := common.Unmarshal(e.Error, &openAIError)
|
|
if err == nil && openAIError.Message != "" {
|
|
return &openAIError
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (e GeneralErrorResponse) ToMessage() string {
|
|
if len(e.Error) > 0 {
|
|
switch common.GetJsonType(e.Error) {
|
|
case "object":
|
|
var openAIError types.OpenAIError
|
|
err := common.Unmarshal(e.Error, &openAIError)
|
|
if err == nil && openAIError.Message != "" {
|
|
return openAIError.Message
|
|
}
|
|
case "string":
|
|
var msg string
|
|
err := common.Unmarshal(e.Error, &msg)
|
|
if err == nil && msg != "" {
|
|
return msg
|
|
}
|
|
default:
|
|
return string(e.Error)
|
|
}
|
|
}
|
|
if e.Message != "" {
|
|
return e.Message
|
|
}
|
|
if e.Msg != "" {
|
|
return e.Msg
|
|
}
|
|
if e.Err != "" {
|
|
return e.Err
|
|
}
|
|
if e.ErrorMsg != "" {
|
|
return e.ErrorMsg
|
|
}
|
|
if e.Detail != "" {
|
|
return e.Detail
|
|
}
|
|
if e.Header.Message != "" {
|
|
return e.Header.Message
|
|
}
|
|
if e.Response.Error.Message != "" {
|
|
return e.Response.Error.Message
|
|
}
|
|
return ""
|
|
}
|