24 lines
910 B
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())
|
|
}
|