error.go 661 B

1234567891011121314151617181920212223242526272829
  1. package service
  2. import (
  3. "fmt"
  4. "one-api/common"
  5. "one-api/dto"
  6. "strings"
  7. )
  8. // OpenAIErrorWrapper wraps an error into an OpenAIErrorWithStatusCode
  9. func OpenAIErrorWrapper(err error, code string, statusCode int) *dto.OpenAIErrorWithStatusCode {
  10. text := err.Error()
  11. // 定义一个正则表达式匹配URL
  12. if strings.Contains(text, "Post") {
  13. common.SysLog(fmt.Sprintf("error: %s", text))
  14. text = "请求上游地址失败"
  15. }
  16. //避免暴露内部错误
  17. openAIError := dto.OpenAIError{
  18. Message: text,
  19. Type: "new_api_error",
  20. Code: code,
  21. }
  22. return &dto.OpenAIErrorWithStatusCode{
  23. OpenAIError: openAIError,
  24. StatusCode: statusCode,
  25. }
  26. }