예제 #1
0
        /// <summary>
        ///     Determines whether the specified crawl request is disallowed.
        /// </summary>
        /// <param name = "crawlRequest">The crawl request.</param>
        /// <param name = "arachnodeDAO">The arachnode DAO.</param>
        /// <returns>
        ///     <c>true</c> if the specified crawl request is disallowed; otherwise, <c>false</c>.
        /// </returns>
        public override bool IsDisallowed(CrawlRequest <TArachnodeDAO> crawlRequest, IArachnodeDAO arachnodeDAO)
        {
            bool isDisallowed = false;

            crawlRequest.OutputIsDisallowedReason = OutputIsDisallowedReason;
            crawlRequest.IsDisallowedReason       = "Disallowed by ResponseHeaders.";

            if (UserDefinedFunctions.IsDisallowedForResponseHeaders(crawlRequest.WebClient.HttpWebResponse.Headers.ToString(), false))
            {
                isDisallowed = true;
            }

            if (_negateIsDisallowed)
            {
                isDisallowed = !isDisallowed;
            }

            return(isDisallowed);
        }