Files
new-api-custom/relay/convert_request_error.go

24 lines
910 B
Go

package relay
import (
"errors"
"net/http"
relaycommon "github.com/QuantumNous/new-api/relay/common"
kitreasoning "github.com/QuantumNous/new-api/relaykit/relayconvert/reasoning"
"github.com/QuantumNous/new-api/relaykit/types"
"github.com/gin-gonic/gin"
)
func newConvertRequestFailedError(c *gin.Context, info *relaycommon.RelayInfo, err error) *types.NewAPIError {
var loss *types.ConversionLossError
if errors.As(err, &loss) {
info.RecordConversionDiagnostics(c, loss.Diagnostics)
return types.NewErrorWithStatusCode(err, types.ErrorCodeConvertRequestFailed, http.StatusBadRequest, types.ErrOptionWithSkipRetry())
}
if kitreasoning.IsClientError(err) {
return types.NewErrorWithStatusCode(err, types.ErrorCodeConvertRequestFailed, http.StatusBadRequest, types.ErrOptionWithSkipRetry())
}
return types.NewError(err, types.ErrorCodeConvertRequestFailed, types.ErrOptionWithSkipRetry())
}