Просмотр исходного кода

Merge remote-tracking branch 'origin/alpha' into refactor/layout-Ⅱ

t0ng7u 7 месяцев назад
Родитель
Сommit
323417182a

+ 1 - 1
relay/claude_handler.go

@@ -125,7 +125,7 @@ func ClaudeHelper(c *gin.Context) (newAPIError *types.NewAPIError) {
 	var httpResp *http.Response
 	var httpResp *http.Response
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	if err != nil {
 	if err != nil {
-		return types.NewError(err, types.ErrorCodeDoRequestFailed)
+		return types.NewOpenAIError(err, types.ErrorCodeDoRequestFailed, http.StatusInternalServerError)
 	}
 	}
 
 
 	if resp != nil {
 	if resp != nil {

+ 1 - 1
relay/embedding_handler.go

@@ -91,7 +91,7 @@ func EmbeddingHelper(c *gin.Context) (newAPIError *types.NewAPIError) {
 	statusCodeMappingStr := c.GetString("status_code_mapping")
 	statusCodeMappingStr := c.GetString("status_code_mapping")
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	if err != nil {
 	if err != nil {
-		return types.NewError(err, types.ErrorCodeDoRequestFailed)
+		return types.NewOpenAIError(err, types.ErrorCodeDoRequestFailed, http.StatusInternalServerError)
 	}
 	}
 
 
 	var httpResp *http.Response
 	var httpResp *http.Response

+ 1 - 1
relay/image_handler.go

@@ -209,7 +209,7 @@ func ImageHelper(c *gin.Context) (newAPIError *types.NewAPIError) {
 
 
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	if err != nil {
 	if err != nil {
-		return types.NewError(err, types.ErrorCodeDoRequestFailed)
+		return types.NewOpenAIError(err, types.ErrorCodeDoRequestFailed, http.StatusInternalServerError)
 	}
 	}
 	var httpResp *http.Response
 	var httpResp *http.Response
 	if resp != nil {
 	if resp != nil {

+ 1 - 1
relay/relay-text.go

@@ -210,7 +210,7 @@ func TextHelper(c *gin.Context) (newAPIError *types.NewAPIError) {
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 
 
 	if err != nil {
 	if err != nil {
-		return types.NewError(err, types.ErrorCodeDoRequestFailed)
+		return types.NewOpenAIError(err, types.ErrorCodeDoRequestFailed, http.StatusInternalServerError)
 	}
 	}
 
 
 	statusCodeMappingStr := c.GetString("status_code_mapping")
 	statusCodeMappingStr := c.GetString("status_code_mapping")

+ 1 - 1
relay/rerank_handler.go

@@ -84,7 +84,7 @@ func RerankHelper(c *gin.Context, relayMode int) (newAPIError *types.NewAPIError
 	}
 	}
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	if err != nil {
 	if err != nil {
-		return types.NewError(err, types.ErrorCodeDoRequestFailed)
+		return types.NewOpenAIError(err, types.ErrorCodeDoRequestFailed, http.StatusInternalServerError)
 	}
 	}
 
 
 	statusCodeMappingStr := c.GetString("status_code_mapping")
 	statusCodeMappingStr := c.GetString("status_code_mapping")

+ 1 - 1
relay/responses_handler.go

@@ -137,7 +137,7 @@ func ResponsesHelper(c *gin.Context) (newAPIError *types.NewAPIError) {
 	var httpResp *http.Response
 	var httpResp *http.Response
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	resp, err := adaptor.DoRequest(c, relayInfo, requestBody)
 	if err != nil {
 	if err != nil {
-		return types.NewError(err, types.ErrorCodeDoRequestFailed)
+		return types.NewOpenAIError(err, types.ErrorCodeDoRequestFailed, http.StatusInternalServerError)
 	}
 	}
 
 
 	statusCodeMappingStr := c.GetString("status_code_mapping")
 	statusCodeMappingStr := c.GetString("status_code_mapping")

+ 2 - 0
service/error.go

@@ -82,6 +82,7 @@ func ClaudeErrorWrapperLocal(err error, code string, statusCode int) *dto.Claude
 func RelayErrorHandler(resp *http.Response, showBodyWhenFail bool) (newApiErr *types.NewAPIError) {
 func RelayErrorHandler(resp *http.Response, showBodyWhenFail bool) (newApiErr *types.NewAPIError) {
 	newApiErr = &types.NewAPIError{
 	newApiErr = &types.NewAPIError{
 		StatusCode: resp.StatusCode,
 		StatusCode: resp.StatusCode,
+		ErrorType:  types.ErrorTypeOpenAIError,
 	}
 	}
 
 
 	responseBody, err := io.ReadAll(resp.Body)
 	responseBody, err := io.ReadAll(resp.Body)
@@ -105,6 +106,7 @@ func RelayErrorHandler(resp *http.Response, showBodyWhenFail bool) (newApiErr *t
 		newApiErr = types.WithOpenAIError(errResponse.Error, resp.StatusCode)
 		newApiErr = types.WithOpenAIError(errResponse.Error, resp.StatusCode)
 	} else {
 	} else {
 		newApiErr = types.NewErrorWithStatusCode(errors.New(errResponse.ToMessage()), types.ErrorCodeBadResponseStatusCode, resp.StatusCode)
 		newApiErr = types.NewErrorWithStatusCode(errors.New(errResponse.ToMessage()), types.ErrorCodeBadResponseStatusCode, resp.StatusCode)
+		newApiErr.ErrorType = types.ErrorTypeOpenAIError
 	}
 	}
 	return
 	return
 }
 }

+ 8 - 0
types/error.go

@@ -152,6 +152,14 @@ func NewError(err error, errorCode ErrorCode) *NewAPIError {
 	}
 	}
 }
 }
 
 
+func NewOpenAIError(err error, errorCode ErrorCode, statusCode int) *NewAPIError {
+	openaiError := OpenAIError{
+		Message: err.Error(),
+		Type:    string(errorCode),
+	}
+	return WithOpenAIError(openaiError, statusCode)
+}
+
 func NewErrorWithStatusCode(err error, errorCode ErrorCode, statusCode int) *NewAPIError {
 func NewErrorWithStatusCode(err error, errorCode ErrorCode, statusCode int) *NewAPIError {
 	return &NewAPIError{
 	return &NewAPIError{
 		Err:        err,
 		Err:        err,