PathStatusResolver
namespace Relativity.Transfer.Paths
{
internal class PathStatusResolver : IPathStatusResolver
{
private readonly ClientConfiguration configuration;
public PathStatusResolver(ClientConfiguration configuration)
{
this.configuration = configuration;
}
public TransferPathStatus Resolve(TransferPathStatus pathStatus)
{
if (pathStatus == TransferPathStatus.PermissionsError && !configuration.PermissionErrorsRetry)
return TransferPathStatus.Fatal;
if (pathStatus == TransferPathStatus.FileNotFound && !configuration.FileNotFoundErrorsRetry) {
if (configuration.FileNotFoundErrorsDisabled)
return pathStatus;
return TransferPathStatus.Fatal;
}
if (pathStatus == TransferPathStatus.BadPathError && !configuration.BadPathErrorsRetry)
return TransferPathStatus.Fatal;
return pathStatus;
}
}
}