diff --git a/common/gin.go b/common/gin.go index 157659702..2cb358444 100644 --- a/common/gin.go +++ b/common/gin.go @@ -2,12 +2,13 @@ package common import ( "bytes" - "github.com/gin-gonic/gin" "io" "net/http" "one-api/constant" "strings" "time" + + "github.com/gin-gonic/gin" ) const KeyRequestBody = "key_request_body" diff --git a/relay/claude_handler.go b/relay/claude_handler.go index 112f62cce..59c052f62 100644 --- a/relay/claude_handler.go +++ b/relay/claude_handler.go @@ -24,7 +24,7 @@ func ClaudeHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *typ claudeReq, ok := info.Request.(*dto.ClaudeRequest) if !ok { - common.FatalLog(fmt.Sprintf("invalid request type, expected *dto.ClaudeRequest, got %T", info.Request)) + return types.NewErrorWithStatusCode(fmt.Errorf("invalid request type, expected *dto.ClaudeRequest, got %T", info.Request), types.ErrorCodeInvalidRequest, http.StatusBadRequest, types.ErrOptionWithSkipRetry()) } request, err := common.DeepCopy(claudeReq) diff --git a/relay/compatible_handler.go b/relay/compatible_handler.go index f1a69e21b..56d65a3f3 100644 --- a/relay/compatible_handler.go +++ b/relay/compatible_handler.go @@ -29,8 +29,7 @@ func TextHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *types textReq, ok := info.Request.(*dto.GeneralOpenAIRequest) if !ok { - //return types.NewErrorWithStatusCode(errors.New("invalid request type"), types.ErrorCodeInvalidRequest, http.StatusBadRequest, types.ErrOptionWithSkipRetry()) - common.FatalLog("invalid request type, expected dto.GeneralOpenAIRequest, got %T", info.Request) + return types.NewErrorWithStatusCode(fmt.Errorf("invalid request type, expected dto.GeneralOpenAIRequest, got %T", info.Request), types.ErrorCodeInvalidRequest, http.StatusBadRequest, types.ErrOptionWithSkipRetry()) } request, err := common.DeepCopy(textReq) diff --git a/relay/embedding_handler.go b/relay/embedding_handler.go index ee6caff68..26dcf9719 100644 --- a/relay/embedding_handler.go +++ b/relay/embedding_handler.go @@ -20,7 +20,7 @@ func EmbeddingHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError * embeddingReq, ok := info.Request.(*dto.EmbeddingRequest) if !ok { - common.FatalLog(fmt.Sprintf("invalid request type, expected *dto.EmbeddingRequest, got %T", info.Request)) + return types.NewErrorWithStatusCode(fmt.Errorf("invalid request type, expected *dto.EmbeddingRequest, got %T", info.Request), types.ErrorCodeInvalidRequest, http.StatusBadRequest, types.ErrOptionWithSkipRetry()) } request, err := common.DeepCopy(embeddingReq) diff --git a/relay/gemini_handler.go b/relay/gemini_handler.go index 576a4eab5..460fd2f58 100644 --- a/relay/gemini_handler.go +++ b/relay/gemini_handler.go @@ -55,7 +55,7 @@ func GeminiHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *typ geminiReq, ok := info.Request.(*dto.GeminiChatRequest) if !ok { - common.FatalLog(fmt.Sprintf("invalid request type, expected *dto.GeminiChatRequest, got %T", info.Request)) + return types.NewErrorWithStatusCode(fmt.Errorf("invalid request type, expected *dto.GeminiChatRequest, got %T", info.Request), types.ErrorCodeInvalidRequest, http.StatusBadRequest, types.ErrOptionWithSkipRetry()) } request, err := common.DeepCopy(geminiReq) diff --git a/relay/image_handler.go b/relay/image_handler.go index ef676167a..c700424f6 100644 --- a/relay/image_handler.go +++ b/relay/image_handler.go @@ -24,7 +24,7 @@ func ImageHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *type imageReq, ok := info.Request.(*dto.ImageRequest) if !ok { - common.FatalLog(fmt.Sprintf("invalid request type, expected dto.ImageRequest, got %T", info.Request)) + return types.NewErrorWithStatusCode(fmt.Errorf("invalid request type, expected dto.ImageRequest, got %T", info.Request), types.ErrorCodeInvalidRequest, http.StatusBadRequest, types.ErrOptionWithSkipRetry()) } request, err := common.DeepCopy(imageReq) diff --git a/relay/rerank_handler.go b/relay/rerank_handler.go index f4c90af69..fa3c7bbb4 100644 --- a/relay/rerank_handler.go +++ b/relay/rerank_handler.go @@ -21,7 +21,7 @@ func RerankHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *typ rerankReq, ok := info.Request.(*dto.RerankRequest) if !ok { - common.FatalLog(fmt.Sprintf("invalid request type, expected dto.RerankRequest, got %T", info.Request)) + return types.NewErrorWithStatusCode(fmt.Errorf("invalid request type, expected dto.RerankRequest, got %T", info.Request), types.ErrorCodeInvalidRequest, http.StatusBadRequest, types.ErrOptionWithSkipRetry()) } request, err := common.DeepCopy(rerankReq) diff --git a/relay/responses_handler.go b/relay/responses_handler.go index 7bcc1d03d..f5f624c92 100644 --- a/relay/responses_handler.go +++ b/relay/responses_handler.go @@ -22,7 +22,7 @@ func ResponsesHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError * responsesReq, ok := info.Request.(*dto.OpenAIResponsesRequest) if !ok { - common.FatalLog(fmt.Sprintf("invalid request type, expected dto.OpenAIResponsesRequest, got %T", info.Request)) + return types.NewErrorWithStatusCode(fmt.Errorf("invalid request type, expected dto.OpenAIResponsesRequest, got %T", info.Request), types.ErrorCodeInvalidRequest, http.StatusBadRequest, types.ErrOptionWithSkipRetry()) } request, err := common.DeepCopy(responsesReq)