Merge pull request #674 from aspnet/kichalla/show.more.debuggerdisplaystring

Show default values in CompositeEndpointDataSource's debugger display…
This commit is contained in:
Ryan Nowak 2018-07-31 14:47:20 -07:00 committed by GitHub
commit 3d4a66ab8d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 24 additions and 4 deletions

View File

@ -127,11 +127,16 @@ namespace Microsoft.AspNetCore.Routing
var template = matcherEndpoint.RoutePattern.RawText; var template = matcherEndpoint.RoutePattern.RawText;
template = string.IsNullOrEmpty(template) ? "\"\"" : template; template = string.IsNullOrEmpty(template) ? "\"\"" : template;
sb.Append(template); sb.Append(template);
var requiredValues = matcherEndpoint.RequiredValues.Select(kvp => $"{kvp.Key} = \"{kvp.Value ?? "null"}\"");
sb.Append(", Required Values: new { "); sb.Append(", Required Values: new { ");
sb.Append(string.Join(", ", requiredValues)); sb.Append(string.Join(", ", GetValues(matcherEndpoint.RequiredValues)));
sb.Append(" }"); sb.Append(" }");
sb.Append(", Order:"); sb.Append(", Defaults: new { ");
sb.Append(string.Join(", ", GetValues(matcherEndpoint.RoutePattern.Defaults)));
sb.Append(" }");
var routeNameMetadata = matcherEndpoint.Metadata.GetMetadata<IRouteNameMetadata>();
sb.Append(", Route Name: ");
sb.Append(routeNameMetadata?.Name);
sb.Append(", Order: ");
sb.Append(matcherEndpoint.Order); sb.Append(matcherEndpoint.Order);
var httpMethodMetadata = matcherEndpoint.Metadata.GetMetadata<IHttpMethodMetadata>(); var httpMethodMetadata = matcherEndpoint.Metadata.GetMetadata<IHttpMethodMetadata>();
@ -140,7 +145,8 @@ namespace Microsoft.AspNetCore.Routing
sb.Append(", Http Methods: "); sb.Append(", Http Methods: ");
sb.Append(string.Join(", ", httpMethodMetadata.HttpMethods)); sb.Append(string.Join(", ", httpMethodMetadata.HttpMethods));
} }
sb.Append(", Display Name: ");
sb.Append(matcherEndpoint.DisplayName);
sb.AppendLine(); sb.AppendLine();
} }
else else
@ -150,6 +156,20 @@ namespace Microsoft.AspNetCore.Routing
} }
} }
return sb.ToString(); return sb.ToString();
IEnumerable<string> GetValues(IEnumerable<KeyValuePair<string, object>> values)
{
return values.Select(
kvp =>
{
var value = "null";
if (kvp.Value != null)
{
value = "\"" + kvp.Value.ToString() + "\"";
}
return kvp.Key + " = " + value;
});
}
} }
} }
} }