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 }); } }
public MatchedUrl(UrlBreakdown urlBreakdown, Dictionary <string, string> queryStringPairs) { UrlBreakdown = urlBreakdown; QueryStringPairs = queryStringPairs; HasMatch = true; }