Beispiel #1
0
        public CrawlingOptions(string expression, string url)
        {
            if (string.IsNullOrWhiteSpace(expression))
            {
                throw new ArgumentNullException(nameof(expression), "Expression cannot be empty.");
            }

            if (!Uri.TryCreate(url?.Trim(), UriKind.Absolute, out var parsedUri))
            {
                throw new ArgumentException($"Could not parse invalid URL: {url}.", nameof(url));
            }

            Expression = expression.Trim();
            BaseUri    = parsedUri;
            BaseUrlWithoutParameters = url.Split('?').First().Trim();

            var domainUri = BaseUri.GetLeftPart(UriPartial.Authority);

            DomainUri = new Uri(domainUri, UriKind.Absolute);
        }