public NuGetService( ICacheService cacheProvider, IHttpHandlerService httpHandlerService, IPreferences preferences, IVersionTracking versionTracking, IConnectivity connectivity, IFileSystem fileSystem, ILogger logger) { _cache = cacheProvider ?? throw new ArgumentNullException(nameof(cacheProvider)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _preferences = preferences; _versionTracking = versionTracking; _connectivity = connectivity; _httpClient = new HttpClient(httpHandlerService.GetNativeHandler()); var dbPath = Path.Combine(fileSystem.AppDataDirectory, "nugets.db"); _db = new LiteDatabase($"Filename={dbPath};Upgrade=true;"); _db.Pragma("UTC_DATE", true); _packageSourceRepo = new EntityRepository <PackageSource>(_db, TimeSpan.FromDays(7), _connectivity); _favouriteRepo = new EntityRepository <FavouritePackage>(_db, TimeSpan.MaxValue, _connectivity); _recentRepo = new EntityRepository <RecentPackage>(_db, TimeSpan.MaxValue, _connectivity); _retryPolicy = Policy.Handle <WebException>() .Or <HttpRequestException>() .WaitAndRetryAsync ( retryCount: 2, sleepDurationProvider: retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)) ); }
public EmailService(IOptions <AppSettings> settings, IHttpHandlerService httpHandlerService) { _settings = settings; _httpHandlerService = httpHandlerService; }
public ScrapeConfigService(IOptions <AppSettings> settings, IHttpHandlerService httpHandlerService) { _settings = settings; _httpHandlerService = httpHandlerService; }
public ApiResponseHandlerService(IHttpHandlerService httpHandler, ILocalMemoryCacheService localMemoryCache) { _localMemoryCache = localMemoryCache; _httpHandlerService = httpHandler; }