private ExternalContent GetContent(string url, out ShortUrlResult result) { result = new ShortUrlResult(); ExternalContent externalContent = null; try { externalContent = externalContentService.Retrieve(url); } catch (WebException e) { result = new ShortUrlResult(new[] { new RuleViolation("url", e.Message) }); } return(externalContent); }
public SpamStatus CheckStatus(ShortUrl shortUrl) { Check.Argument.IsNotNull(shortUrl, "url"); ExternalContent externalContent = null; try { externalContent = externalContentService.Retrieve(shortUrl.Url); } catch (WebException) { } if (externalContent == null) { return(SpamStatus.None); } if (string.IsNullOrEmpty(externalContent.Content)) { return(SpamStatus.None); } string title = externalContent.Title; string plainContent = externalContent.Content.StripHtml().Trim(); if (!string.IsNullOrWhiteSpace(title) && GetBadWordExpressions().Any(expression => expression.IsMatch(title))) { return(SpamStatus.BadWord); } if (!string.IsNullOrWhiteSpace(plainContent) && GetBadWordExpressions().Any(expression => expression.IsMatch(plainContent))) { return(SpamStatus.BadWord); } return(SpamStatus.Clean); }