Esempio n. 1
0
        public static void LogTo(this HttpRoute route, TextWriter writer)
        {
            var attributeRoute = route as IAttributeRoute;
            var info           = RouteLoggingInfo.GetRouteInfo(route.RouteTemplate,
                                                               route.Defaults,
                                                               attributeRoute.SafeGet(r => r.QueryStringDefaults),
                                                               route.Constraints,
                                                               attributeRoute.SafeGet(r => r.QueryStringConstraints),
                                                               route.DataTokens);

            LogWriter.LogRoute(writer, route.RouteTemplate, info);
        }
Esempio n. 2
0
 private static IEnumerable <object> GetRouteInfo()
 {
     return(from route in RouteTable.Routes.OfType <Route>()
            let attributeRoute = route as IAttributeRoute
                                 let routeInfo = RouteLoggingInfo.GetRouteInfo(route.Url,
                                                                               route.Defaults,
                                                                               attributeRoute.SafeGet(r => r.QueryStringDefaults),
                                                                               route.Constraints,
                                                                               attributeRoute.SafeGet(r => r.QueryStringConstraints),
                                                                               route.DataTokens)
                                                 select new
     {
         methods = routeInfo.HttpMethods,
         url = routeInfo.Url,
         defaults = routeInfo.Defaults.Select(kvp => new { key = kvp.Key, value = kvp.Value }),
         constraints = routeInfo.Constraints.Select(kvp => new { key = kvp.Key, value = kvp.Value }),
         dataTokens = routeInfo.DataTokens.Select(kvp => new { key = kvp.Key, value = kvp.Value })
     });
 }