public override void Build( IRedirectProcessingResult redirectProcessingResult) { foreach (var processedRedirect in redirectProcessingResult.ProcessedRedirects.ToList()) { var outputRedirect = _outputRedirectBuilder .Build(processedRedirect); if (!outputRedirect.ValidMatchingOriginalNewUrl && !outputRedirect.ValidNotMatchingOriginalNewUrl) { continue; } if (!outputRedirect.ValidMatchingOriginalNewUrl && outputRedirect.ValidNotMatchingOriginalNewUrl && !_includeNotMatchingNewUrl) { continue; } var record = new OutputRedirectRecord { OldUrl = outputRedirect.OldUrl, NewUrl = outputRedirect.NewUrl }; if (processedRedirect.ParsedRedirect != null) { if (processedRedirect.ParsedRedirect.OldUrl != null) { record.OriginalOldUrl = FormatRawUrl(processedRedirect.ParsedRedirect.OldUrl); record.OldUrlHasHost = record.OriginalOldUrlHasHost = processedRedirect.ParsedRedirect.OldUrl.Parsed.OriginalUrlHasHost; record.ParsedOldUrl = FormatParsedUrl(processedRedirect.ParsedRedirect.OldUrl); } if (processedRedirect.ParsedRedirect.NewUrl != null) { record.OriginalNewUrl = FormatRawUrl(processedRedirect.ParsedRedirect.NewUrl); record.NewUrlHasHost = record.OriginalNewUrlHasHost = processedRedirect.ParsedRedirect.NewUrl.Parsed.OriginalUrlHasHost; record.ParsedNewUrl = FormatParsedUrl(processedRedirect.ParsedRedirect.NewUrl); } } _records.Add(record); } }
private void AddOutputRedirectUrls( IProcessedRedirect processedRedirect, ProcessedRedirectRecord processedRedirectRecord) { var outputRedirect = _outputRedirectBuilder.Build( processedRedirect); processedRedirectRecord.OutputRedirectOldUrl = outputRedirect.OldUrl; processedRedirectRecord.OutputRedirectNewUrl = outputRedirect.NewUrl; processedRedirectRecord.OutputRedirectValidMatchingOriginalNewUrl = outputRedirect.ValidMatchingOriginalNewUrl; processedRedirectRecord.OutputRedirectValidNotMatchingOriginalNewUrl = outputRedirect.ValidNotMatchingOriginalNewUrl; }