private IHostFileFactory CreateHostFileFactoryFor(IHostFile hostFile) { var factory = Substitute.For <IHostFileFactory>(); factory.Create(Arg.Any <ITextFileReader>(), Arg.Any <ITextFileWriter>()) .Returns(hostFile); return(factory); }
private void Merge(string url, IHostFile hostFile) { var cachedHosts = _blocklistCacheManager.GetReaderFor(url); if (cachedHosts == null) { _logger.LogWarning($"Unable to retrieve cached data for {url}"); return; } _logger.LogDebug($"Retrieved cached data for {url}"); hostFile.Merge(cachedHosts); }
private void MergeBlocklistsInto(IHostFile hostFile) { _settings.Sources.ForEach(url => Merge(url, hostFile)); }
private void OverrideRedirectWithUserPreferenceOn(IHostFile hostFile) { _logger.LogInfo($"Redirecting adserver hosts to {_settings.RedirectIp}"); hostFile.SetRedirectIp(_settings.RedirectIp); }
private void ApplyBlacklistOn(IHostFile hostFile) { _logger.LogInfo($"Applying {_settings.Blacklist.Count()} blacklist hosts"); _settings.Blacklist.ForEach(b => hostFile.Redirect(b, _settings.RedirectIp)); }
private void ApplyWhitelistOn(IHostFile hostFile) { _logger.LogInfo($"Applying {_settings.Whitelist.Count()} whitelist hosts"); _settings.Whitelist.ForEach(hostFile.Whitelist); }