Exemple #1
0
        static TitlingResult HandleHtml(
            TitlingRequest request,
            HtmlPage page,
            Func <TitlingRequest, string, TitlingResult> handler)
        {
            const int maxTitleLength = 1024;

            ReportCharsets(request, page);

            string htmlTitle = WebTools.GetTitle(page.Content);

            if (string.IsNullOrWhiteSpace(htmlTitle))
            {
                request.AddMessage("No <title> found, or title element was empty/whitespace.");
                return(request.CreateResult(false));
            }
            if (htmlTitle.Length > maxTitleLength)
            {
                request.AddMessage("HTML title length was in excess of 1024 characters, assuming spam.");
                return(request.CreateResult(false));
            }
            // If defined and not of ridiculous length make it available to TitleBuilder.
            request.IrcTitle.HtmlTitle = htmlTitle;
            return(handler(request, page.Content));
        }