234
235
if serviceErr, ok := errors.AsType[serviceerror.ServiceError](callErr); ok {
237
>
failure := &failurepb.Failure{
238
>
Message: fmt.Sprintf("%s: %s", strings.Replace(fmt.Sprintf("%T", serviceErr), "*serviceerror.", "", 1), serviceErr.Error()),
239
>
FailureInfo: &failurepb.Failure_ServerFailureInfo{
240
>
ServerFailureInfo: &failurepb.ServerFailureInfo{
241
>
NonRetryable: !retryable,
242
>
},
243
>
},
244
>
}
245
>
if retryable {
246
>
return invocationResultRetry{failure: failure}, nil
247
>
}
248
return invocationResultFail{failure: failure}, nil
249
}