public DomainParser(ITldRuleProvider ruleProvider, IDomainNormalizer domainNormalizer = null) { this._ruleProvider = ruleProvider ?? throw new ArgumentNullException("ruleProvider"); var rules = ruleProvider.BuildAsync().Result; this.Initialize(rules, domainNormalizer); }
public DomainParser(ITldRuleProvider ruleProvider) { if (ruleProvider == null) { throw new ArgumentNullException("ruleProvider"); } this._ruleProvider = ruleProvider; this.AddRules(ruleProvider.BuildAsync().Result); }
public DomainParser(ITldRuleProvider ruleProvider) { if (ruleProvider == null) { throw new ArgumentNullException("ruleProvider"); } _ruleProvider = ruleProvider; //Using AsyncLazy is thread safe way to initialize rules _rulesLoaded = new AsyncLazy <bool>(async delegate { var rules = await _ruleProvider.BuildAsync().ConfigureAwait(false); AddRules(rules); return(true); }); }
/// <summary> /// Creates and initializes a DomainParser /// </summary> /// <param name="ruleProvider">A rule provider from interface <see cref="ITldRuleProvider"/>.</param> /// <param name="domainNormalizer">An <see cref="IDomainNormalizer"/>.</param> public DomainParser(ITldRuleProvider ruleProvider, IDomainNormalizer domainNormalizer = null) : this(domainNormalizer) { var rules = ruleProvider.BuildAsync().GetAwaiter().GetResult(); this.AddRules(rules); }
/// <summary> /// Creates and initializes a DomainParser. /// </summary> /// <param name="ruleProvider">A <see cref="TldRule"/> provider.</param> /// <param name="domainNormalizer">An <see cref="IDomainNormalizer"/>.</param> public DomainParser([NotNull] ITldRuleProvider ruleProvider, IDomainNormalizer domainNormalizer = null) : this(domainNormalizer) { IEnumerable <TldRule> rules = ruleProvider.BuildAsync().Execute(); AddRules(rules); }
public OrganisationalDomainProvider(ITldRuleProvider tldRuleProvider) { _tldRuleProvider = tldRuleProvider; _domainParser = new Lazy <DomainParser>(() => new DomainParser(_tldRuleProvider)); }