diff --git a/controller/relay-utils.go b/controller/relay-utils.go index 0b132522..494186e3 100644 --- a/controller/relay-utils.go +++ b/controller/relay-utils.go @@ -8,6 +8,7 @@ import ( "io" "net/http" "one-api/common" + "regexp" "strconv" ) @@ -106,12 +107,18 @@ func countTokenText(text string, model string) int { } func errorWrapper(err error, code string, statusCode int) *OpenAIErrorWithStatusCode { - if statusCode == http.StatusInternalServerError { - //避免暴露内部错误 - err = fmt.Errorf("internal server error") + text := err.Error() + // 定义一个正则表达式匹配URL + urlPattern := `http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+` + + urlRegexp, reErr := regexp.Compile(urlPattern) + if reErr == nil { + text = urlRegexp.ReplaceAllString(text, "https://api.openai.com") } + //避免暴露内部错误 + openAIError := OpenAIError{ - Message: err.Error(), + Message: text, Type: "one_api_error", Code: code, }