Exemplo n.º 1
0
        private static void ExtractRouteDataByRegex(Regex[] regexPatterns, RouteData routeData)
        {
            if (regexPatterns is null)
            {
                throw new ArgumentNullException(nameof(regexPatterns));
            }

            if (routeData is null)
            {
                throw new ArgumentNullException(nameof(routeData));
            }

            foreach (var routePattern in regexPatterns)
            {
                var match = routePattern.Match(routeData.OriginalRoutingKey);

                if (match.Success)
                {
                    foreach (var groupName in routePattern.GetGroupNames())
                    {
                        routeData.Add(groupName, match.Groups[groupName].Value);
                    }

                    break;
                }
            }
        }