public virtual void PerformRedirect(RedirectSearchData redirectSearchData, HttpContextBase httpContext) { if (redirectSearchData is null) { return; } this.sanitizer.SanitizeRedirectSearchData(redirectSearchData); var redirects = this.redirectSearcher.SearchRedirects(redirectSearchData)?.ToList(); if (redirects is null || !redirects.Any()) { this.logger.Debug($"No redirects found for term {redirectSearchData.SourceTerm}", this); } var redirect = this.FilterRedirects(redirects, redirectSearchData); if (redirect is null) { return; } var additionalTargetData = this.GetAdditionalTargetUrlData(redirectSearchData, redirect); this.PerformRedirect(redirect, httpContext, additionalTargetData); }
public virtual void SanitizeRedirectSearchData(RedirectSearchData redirectSearchData) { redirectSearchData.SourceTerm = this.SanitizeTerm(redirectSearchData.SourceTerm); redirectSearchData.SiteName = this.SanitizeSiteName(redirectSearchData.SiteName); redirectSearchData.SourceProtocol = this.SanitizeProtocol(redirectSearchData.SourceProtocol); }
protected virtual string GetAdditionalTargetUrlData(RedirectSearchData redirectSearchData, Redirect redirect) { if (!redirect.RegexEnabled) { return(default);
public IEnumerable <Redirect> SearchRedirects(RedirectSearchData redirectSearchData) { if (redirectSearchData is null) { return(default);