Skip to content

Commit

Permalink
added query string constraints to output of route logger.
Browse files Browse the repository at this point in the history
  • Loading branch information
mccalltd committed Mar 12, 2013
1 parent 81738b4 commit bd27d42
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@ 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(x => x.QueryStringConstraints),
attributeRoute.SafeGet(r => r.QueryStringConstraints),
route.DataTokens);

LogWriter.LogRoute(writer, route.RouteTemplate, info);
Expand Down
15 changes: 8 additions & 7 deletions src/AttributeRouting.Web/Logging/LogRoutesHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,14 @@ private string GetOutput()

private static IEnumerable<object> GetRouteInfo()
{
return from r in RouteTable.Routes.OfType<Route>()
let ar = r as IAttributeRoute
let routeInfo = RouteLoggingInfo.GetRouteInfo(r.Url,
r.Defaults,
r.Constraints,
ar.SafeGet(x => x.QueryStringConstraints),
r.DataTokens)
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,
Expand Down
1 change: 1 addition & 0 deletions src/AttributeRouting.Web/Logging/LoggingExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ public static void LogTo(this Route route, TextWriter writer)
var name = attributeRoute.SafeGet(r => r.RouteName);
var info = RouteLoggingInfo.GetRouteInfo(route.Url,
route.Defaults,
attributeRoute.SafeGet(r => r.QueryStringDefaults),
route.Constraints,
attributeRoute.SafeGet(r => r.QueryStringConstraints),
route.DataTokens);
Expand Down
9 changes: 9 additions & 0 deletions src/AttributeRouting/Logging/RouteLoggingInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ public RouteLoggingInfo()

public static RouteLoggingInfo GetRouteInfo(string url,
IDictionary<string, object> defaults,
IDictionary<string, object> queryStringDefaults,
IDictionary<string, object> constraints,
IDictionary<string, object> queryStringConstraints,
IDictionary<string, object> dataTokens)
Expand All @@ -41,6 +42,14 @@ public static RouteLoggingInfo GetRouteInfo(string url,
item.Defaults.Add(@default.Key, defaultValue.ValueOr("Optional"));
}
}
if (queryStringDefaults != null)
{
foreach (var @default in queryStringDefaults)
{
var defaultValue = @default.Value.ToString();
item.Defaults.Add(@default.Key, defaultValue);
}
}

//************************
// Constraints
Expand Down

0 comments on commit bd27d42

Please sign in to comment.