private Dictionary <string, string> GetQueryStringPairs(UrlBreakdown matchedUrl, string urlToMatch)
        {
            var wildcardMatches = WildcardFinder.Matches(matchedUrl.Url).Cast <Match>().Reverse().ToList();
            var pathMatches     = UrlByLengthCollection.PathMatcher.Match(urlToMatch).Groups["Path"].Captures.Cast <Capture>().Reverse().ToList();

            var queryCollection = new Dictionary <string, string>();

            for (var x = 0; x < wildcardMatches.Count; x++)
            {
                queryCollection.Add(wildcardMatches[x].Value.Trim('}', '{'), pathMatches[x].Value.Trim('/'));
            }

            return(queryCollection);
        }
        public void AddUrl(string urlPattern, KenticoData kenticoData)
        {
            var matchCount = WildcardFinder.Matches(urlPattern).Count;

            var urlBreakdown = new UrlBreakdown(urlPattern, GetUrlWithoutWildcards(urlPattern), kenticoData);

            if (Urls.ContainsKey(matchCount))
            {
                Urls[matchCount].Add(urlBreakdown);
            }
            else
            {
                Urls.Add(matchCount, new List <UrlBreakdown>
                {
                    urlBreakdown
                });
            }
        }
Beispiel #3
0
 public MatchedUrl(UrlBreakdown urlBreakdown, Dictionary <string, string> queryStringPairs)
 {
     UrlBreakdown     = urlBreakdown;
     QueryStringPairs = queryStringPairs;
     HasMatch         = true;
 }