Example #1
0
        public DomainParser(ITldRuleProvider ruleProvider, IDomainNormalizer domainNormalizer = null)
        {
            this._ruleProvider = ruleProvider ?? throw new ArgumentNullException("ruleProvider");

            var rules = ruleProvider.BuildAsync().Result;

            this.Initialize(rules, domainNormalizer);
        }
Example #2
0
        public DomainParser(ITldRuleProvider ruleProvider)
        {
            if (ruleProvider == null)
            {
                throw new ArgumentNullException("ruleProvider");
            }

            this._ruleProvider = ruleProvider;
            this.AddRules(ruleProvider.BuildAsync().Result);
        }
Example #3
0
        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);
            });
        }
Example #4
0
 /// <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);
 }
Example #5
0
 /// <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);
 }
Example #6
0
 public OrganisationalDomainProvider(ITldRuleProvider tldRuleProvider)
 {
     _tldRuleProvider = tldRuleProvider;
     _domainParser    = new Lazy <DomainParser>(() => new DomainParser(_tldRuleProvider));
 }