diff --git a/common/gin.go b/common/gin.go index 15765970..2cb35844 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 112f62cc..59c052f6 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 f1a69e21..56d65a3f 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 ee6caff6..26dcf971 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 576a4eab..460fd2f5 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 ef676167..c700424f 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 f4c90af6..fa3c7bbb 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 7bcc1d03..f5f624c9 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)