<PackageReference Include="Relativity.Transfer.Client" Version="7.2.7" />

RestServiceBase

public abstract class RestServiceBase
using System; using System.Threading; using System.Threading.Tasks; namespace Relativity.Transfer { public abstract class RestServiceBase { private readonly IInstanceSettingService instanceSettingService; public RelativityConnectionInfo ConnectionInfo { get; } public int MaxRetryAttempts { get; set; } public double TimeoutSeconds { get; set; } internal IRelativityServiceFactory ServiceFactory { get; } protected IFileSystemService FileSystemService { get; } protected ITransferLog Log { get; } protected RestServiceBase(RelativityConnectionInfo connectionInfo) : this(connectionInfo, new NullTransferLog()) { } protected RestServiceBase(RelativityConnectionInfo connectionInfo, ITransferLog log) : this(connectionInfo, log, 5, 300) { } protected RestServiceBase(RelativityConnectionInfo connectionInfo, ITransferLog log, int maxRetryAttempts, double timeoutSeconds) { if (connectionInfo == null) throw new ArgumentNullException("connectionInfo"); if (log == null) throw new ArgumentNullException("log"); ConnectionInfo = connectionInfo; FileSystemService = ServiceObjectLocator.GetService<IFileSystemService>(); Log = log; MaxRetryAttempts = maxRetryAttempts; TimeoutSeconds = timeoutSeconds; ServiceFactory = new ServiceFactory(connectionInfo, Log, maxRetryAttempts, timeoutSeconds); WebApiInstanceSettingsRetriever instanceSettingRetriever = new WebApiInstanceSettingsRetriever(ServiceFactory, connectionInfo, log); instanceSettingService = new InstanceSettingService(instanceSettingRetriever, connectionInfo, log); } protected async Task<bool> GetIsRelativityOneInstanceAsync(CancellationToken token) { return await instanceSettingService.GetCloudInstanceAsync(token).ConfigureAwait(false); } } }