fix: improve request handling by deep copying OpenAIResponsesRequest

This commit is contained in:
CaIon
2025-08-23 13:13:10 +08:00
parent 4f23e53002
commit fc18a3c89e

View File

@@ -20,12 +20,17 @@ import (
func ResponsesHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *types.NewAPIError) {
info.InitChannelMeta(c)
request, ok := info.Request.(*dto.OpenAIResponsesRequest)
responsesReq, ok := info.Request.(*dto.OpenAIResponsesRequest)
if !ok {
common.FatalLog(fmt.Sprintf("invalid request type, expected dto.OpenAIResponsesRequest, got %T", info.Request))
}
err := helper.ModelMappedHelper(c, info, request)
request, err := common.DeepCopy(responsesReq)
if err != nil {
return types.NewError(fmt.Errorf("failed to copy request to GeneralOpenAIRequest: %w", err), types.ErrorCodeInvalidRequest, types.ErrOptionWithSkipRetry())
}
err = helper.ModelMappedHelper(c, info, request)
if err != nil {
return types.NewError(err, types.ErrorCodeChannelModelMappedError, types.ErrOptionWithSkipRetry())
}