protected internal void AddRouteMappingsDescriptions(IRouteMappings routeMappings, IDictionary <string, IList <MappingDescription> > desc)
        {
            if (routeMappings == null)
            {
                return;
            }

            foreach (var router in routeMappings.Routers)
            {
                var route = router as Route;
                if (route != null)
                {
                    var details = GetRouteDetails(route);
                    desc.TryGetValue("CoreRouteHandler", out IList <MappingDescription> mapList);

                    if (mapList == null)
                    {
                        mapList = new List <MappingDescription>();
                        desc.Add("CoreRouteHandler", mapList);
                    }

                    var mapDesc = new MappingDescription("CoreRouteHandler", details);
                    mapList.Add(mapDesc);
                }
            }
        }
 public MappingsEndpointMiddleware(
     RequestDelegate next,
     IMappingsOptions options,
     IRouteMappings routeMappings = null,
     IActionDescriptorCollectionProvider actionDescriptorCollectionProvider = null,
     IEnumerable <IApiDescriptionProvider> apiDescriptionProviders          = null,
     ILogger <MappingsEndpointMiddleware> logger = null)
     : base(logger: logger)
 {
     _next          = next;
     _options       = options;
     _routeMappings = routeMappings;
     _actionDescriptorCollectionProvider = actionDescriptorCollectionProvider;
     _apiDescriptionProviders            = apiDescriptionProviders;
 }