<PackageReference Include="Relativity.Server.Transfer.SDK" Version="7.7.0" />

HttpPathStatusResolver

using Relativity.Transfer.Paths; using System; using System.IO; namespace Relativity.Transfer.Http.Paths { internal class HttpPathStatusResolver : IHttpPathStatusResolver { private readonly IPathStatusResolver pathStatusResolver; public HttpPathStatusResolver(IPathStatusResolver pathStatusResolver) { this.pathStatusResolver = pathStatusResolver; } public TransferPathStatus Resolve(Exception exception) { TransferPathStatus pathStatus = ResolveBasedOnException(exception); return pathStatusResolver.Resolve(pathStatus); } private static TransferPathStatus ResolveBasedOnException(Exception exception) { if (exception is ArgumentException) return TransferPathStatus.Fatal; if (exception is UnauthorizedAccessException) return TransferPathStatus.PermissionsError; if (exception is FileNotFoundException) return TransferPathStatus.FileNotFound; if (ExceptionHelper.IsFatalException(exception)) return TransferPathStatus.Fatal; return TransferPathStatus.Failed; } } }