public IReadOnlyList <RouteEntry> GetDirectRoutes(HttpControllerDescriptor controllerDescriptor, IReadOnlyList <HttpActionDescriptor> actionDescriptors, IInlineConstraintResolver constraintResolver) { var realDirectRouteProvider = new DefaultDirectRouteProvider(); var directRoutes = realDirectRouteProvider.GetDirectRoutes(controllerDescriptor, actionDescriptors, constraintResolver); // Store the routes in a property so that they can be retrieved later DirectRoutes = directRoutes; return(directRoutes); }
public IReadOnlyList <RouteEntry> GetDirectRoutes(ControllerDescriptor controllerDescriptor, IReadOnlyList <ActionDescriptor> actionDescriptors, IInlineConstraintResolver constraintResolver) { // Get routes from default provider var defaultProvider = new DefaultDirectRouteProvider(); var routes = defaultProvider.GetDirectRoutes(controllerDescriptor, actionDescriptors, constraintResolver); // Create new constraint to accept only supported url prefixes var lc = new LocaleConstraint(); // Add locale parameter and constraint to every route foreach (var item in routes) { item.Route.Url = "{locale}/" + item.Route.Url; item.Route.Constraints.Add("locale", lc); } return(routes); }