Ejemplo n.º 1
0
        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))
                );
        }
Ejemplo n.º 2
0
 public EmailService(IOptions <AppSettings> settings,
                     IHttpHandlerService httpHandlerService)
 {
     _settings           = settings;
     _httpHandlerService = httpHandlerService;
 }
Ejemplo n.º 3
0
 public ScrapeConfigService(IOptions <AppSettings> settings,
                            IHttpHandlerService httpHandlerService)
 {
     _settings           = settings;
     _httpHandlerService = httpHandlerService;
 }
 public ApiResponseHandlerService(IHttpHandlerService httpHandler, ILocalMemoryCacheService localMemoryCache)
 {
     _localMemoryCache   = localMemoryCache;
     _httpHandlerService = httpHandler;
 }