small fix

This commit is contained in:
2026-02-19 18:05:38 +03:00
parent c9a5a81643
commit 99e586cabe
2 changed files with 17 additions and 15 deletions

View File

@@ -94,9 +94,7 @@ func (w *DatabaseWriter) Print(level slog.LogLevel, prefix string, traceback []*
Level: level.GetName(), Level: level.GetName(),
Prefix: prefix, Prefix: prefix,
Traceback: slog.FormatFullTraceback(traceback), Traceback: slog.FormatFullTraceback(traceback),
Message: strings.Join(utils.Map(messages, func(el any) string { Message: strings.Join(utils.Map(messages, utils.AnyToString), "\n"),
return fmt.Sprintf("%v", el)
}), "\n"),
Time: t, Time: t,
TimeStamp: t.Unix(), TimeStamp: t.Unix(),
} }

View File

@@ -147,14 +147,15 @@ func (o *OpenAIAPI) DoRequest(url string, params any, retries int) ([]byte, erro
return responseBody, err return responseBody, err
} }
tempData := make(map[string]any) var tempData any
err = json.Unmarshal(responseBody, &tempData) err = json.Unmarshal(responseBody, &tempData)
if err != nil { if err != nil {
log.Println("json unmarshal failed:", err) log.Println("json unmarshal failed:", err)
return responseBody, err return responseBody, err
} }
// {"error":{"message":"openai_error","type":"bad_response_status_code","param":"","code":"bad_response_status_code"}} // {"error":{"message":"openai_error","type":"bad_response_status_code","param":"","code":"bad_response_status_code"}}
if errorData, ok := tempData["error"]; ok { if eData, ok := tempData.(map[string]any); ok {
if errorData, ok := eData["error"]; ok {
if errorPayload, ok := errorData.(map[string]any); ok { if errorPayload, ok := errorData.(map[string]any); ok {
code := errorPayload["code"].(string) code := errorPayload["code"].(string)
if code == "bad_response_status_code" { if code == "bad_response_status_code" {
@@ -169,6 +170,9 @@ func (o *OpenAIAPI) DoRequest(url string, params any, retries int) ([]byte, erro
o.Logger.Errorln("Unknown error", errorData) o.Logger.Errorln("Unknown error", errorData)
return nil, errors.New(string(responseBody)) return nil, errors.New(string(responseBody))
} }
} else if eData, ok := tempData.(string); ok {
return responseBody, errors.New(eData)
}
return responseBody, err return responseBody, err
} }