public RedirectProcessor(
            IConfiguration configuration,
            IUrlHelper urlHelper,
            IHttpClient httpClient,
            IUrlParser urlParser,
            IUrlFormatter urlFormatter,
            IRedirectHelper redirectHelper)
        {
            _configuration  = configuration;
            _urlHelper      = urlHelper;
            _httpClient     = httpClient;
            _urlParser      = urlParser;
            _urlFormatter   = urlFormatter;
            _redirectHelper = redirectHelper;

            _oldUrlRedirectIndex = new Dictionary <string, IParsedRedirect>(
                StringComparer.OrdinalIgnoreCase);
            _responseCache   = new Dictionary <string, HttpResponse>();
            _results         = new List <IResult>();
            _skipResultTypes = new List <string>
            {
                ResultTypes.InvalidResult,
                ResultTypes.IdenticalResult,
                ResultTypes.ExcludedRedirect
            };
        }
 public RedirectParser(
     IConfiguration configuration,
     IUrlParser urlParser,
     IUrlFormatter urlFormatter)
 {
     _configuration = configuration;
     _urlParser     = urlParser;
     _urlFormatter  = urlFormatter;
 }
        private void UrlifyTest(IUrlFormatter formatter)
        {
            string phrase = "This is a non url string          ";
            int    length = 24;

            string result   = formatter.Urlify(phrase, length);
            string expected = "This%20is%20a%20non%20url%20string";

            Assert.AreEqual(expected, result);
        }
Esempio n. 4
0
        public RedirectEngine(
            IConfiguration configuration,
            IUrlHelper urlHelper,
            IUrlParser urlParser,
            IUrlFormatter urlFormatter,
            IRedirectParser redirectParser,
            IHttpClient httpClient)
        {
            _configuration  = configuration;
            _urlHelper      = urlHelper;
            _urlParser      = urlParser;
            _redirectParser = redirectParser;
            _httpClient     = httpClient;
            Processors      = new List <IProcessor>
            {
                new InvalidProcessor(),
                new IdenticalProcessor(
                    _urlHelper),
                new DuplicateProcessor(
                    _configuration,
                    _urlHelper),
                new ExcludeProcessor(
                    _configuration),
                new RedirectProcessor(
                    _configuration,
                    _urlHelper,
                    _httpClient,
                    _urlParser,
                    urlFormatter,
                    new RedirectHelper(
                        _configuration,
                        _urlParser,
                        urlFormatter)
                    )
            };
            _redirects          = new List <IRedirect>();
            _parsedRedirects    = new List <IParsedRedirect>();
            _processedRedirects = new List <IProcessedRedirect>();
            _results            = new List <IResult>();
            _activeProcessors   = new List <IProcessor>();

            Exporters = new List <IExporter>
            {
                new WebConfigExporter(
                    _configuration,
                    _urlParser,
                    urlFormatter),
                new AwsS3StaticWebsiteExporter(
                    _configuration,
                    _urlParser,
                    urlFormatter)
            };
        }
 public AwsS3StaticWebsiteExporter(
     IConfiguration configuration,
     IUrlParser urlParser,
     IUrlFormatter urlFormatter)
 {
     this.configuration = configuration;
     this.urlParser     = urlParser;
     this.urlFormatter  = urlFormatter;
     headingSlashRegex  = new Regex(
         "^[/]+",
         RegexOptions.IgnoreCase | RegexOptions.Compiled);
 }
 public SqlServerCompetitionRepository(IDatabaseConnectionFactory databaseConnectionFactory, IAuditRepository auditRepository, ILogger logger, ISeasonRepository seasonRepository, IRouteGenerator routeGenerator,
                                       IRedirectsRepository redirectsRepository, IHtmlSanitizer htmlSanitiser, IStoolballEntityCopier copier, IUrlFormatter urlFormatter, ISocialMediaAccountFormatter socialMediaAccountFormatter)
 {
     _databaseConnectionFactory = databaseConnectionFactory ?? throw new ArgumentNullException(nameof(databaseConnectionFactory));
     _auditRepository           = auditRepository ?? throw new ArgumentNullException(nameof(auditRepository));
     _logger                      = logger ?? throw new ArgumentNullException(nameof(logger));
     _seasonRepository            = seasonRepository ?? throw new ArgumentNullException(nameof(seasonRepository));
     _routeGenerator              = routeGenerator ?? throw new ArgumentNullException(nameof(routeGenerator));
     _redirectsRepository         = redirectsRepository ?? throw new ArgumentNullException(nameof(redirectsRepository));
     _htmlSanitiser               = htmlSanitiser ?? throw new ArgumentNullException(nameof(htmlSanitiser));
     _copier                      = copier ?? throw new ArgumentNullException(nameof(copier));
     _urlFormatter                = urlFormatter ?? throw new ArgumentNullException(nameof(urlFormatter));
     _socialMediaAccountFormatter = socialMediaAccountFormatter ?? throw new ArgumentNullException(nameof(socialMediaAccountFormatter));
 }
 public WebConfigExporter(
     IConfiguration configuration,
     IUrlParser urlParser,
     IUrlFormatter urlFormatter)
 {
     _configuration     = configuration;
     _urlParser         = urlParser;
     _urlFormatter      = urlFormatter;
     _headingSlashRegex = new Regex(
         "^[/]+",
         RegexOptions.IgnoreCase | RegexOptions.Compiled);
     _tailingSlashRegex = new Regex(
         "[/]+$",
         RegexOptions.IgnoreCase | RegexOptions.Compiled);
 }
Esempio n. 8
0
        public UrlHelper(
            IConfiguration configuration,
            IUrlParser urlParser,
            IUrlFormatter urlFormatter)
        {
            _configuration = configuration;
            _urlParser     = urlParser;
            _urlFormatter  = urlFormatter;

            _idnMapping  = new IdnMapping();
            _schemeRegex = new Regex(
                "^https?://",
                RegexOptions.IgnoreCase | RegexOptions.Compiled);
            _forceHttpHostRegexs = _configuration.ForceHttpHostPatterns
                                   .Select(x => new Regex(
                                               x, RegexOptions.IgnoreCase | RegexOptions.Compiled))
                                   .ToList();
        }
 private void RunTests(IUrlFormatter formatter)
 {
     UrlifyTest(formatter);
 }
Esempio n. 10
0
        public string Normalize([FromServices] IUrlFormatter urlFormatter, string url)
        {
            var result = urlFormatter.NormalizeUrl(url);

            return(result);
        }
Esempio n. 11
0
 public static Request <TItem, TSettings> Create <TItem, TSettings>(TSettings settings, IEnumerable <PartType> partTypes, int resultsPerPage, IJsonDownloader jsonDownloader, IPagedResponseDeserializer <TItem> responseDeserializer, IUrlFormatter apiUrlFormatter)
     where TItem : class, IResponse
     where TSettings : class, ISettings
 {
     return(new Request <TItem, TSettings>(settings, partTypes, resultsPerPage, jsonDownloader, responseDeserializer, apiUrlFormatter, ApiKey));
 }
Esempio n. 12
0
 public UrlFormatterTests()
 {
     _urlFormatter = new UrlFormatter();
 }
 public ParsedUrlJsonConverter()
 {
     _urlParser    = new UrlParser();
     _urlFormatter = new UrlFormatter();
 }