From 59b698c8b2a9a5f93afc6d335662e4a3611e869e Mon Sep 17 00:00:00 2001 From: Anthony van der Hoorn Date: Wed, 23 Sep 2015 09:00:28 -0700 Subject: [PATCH] Expose parsed route so that observers can get extra details about the route (i.e. optional state) --- src/Microsoft.AspNet.Routing/Template/RouteTemplate.cs | 4 ++-- src/Microsoft.AspNet.Routing/Template/TemplateRoute.cs | 5 +++++ .../InlineRouteParameterParserTests.cs | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.AspNet.Routing/Template/RouteTemplate.cs b/src/Microsoft.AspNet.Routing/Template/RouteTemplate.cs index 1fa863a69c..e2c8c6f8b6 100644 --- a/src/Microsoft.AspNet.Routing/Template/RouteTemplate.cs +++ b/src/Microsoft.AspNet.Routing/Template/RouteTemplate.cs @@ -37,9 +37,9 @@ namespace Microsoft.AspNet.Routing.Template } } - public List Parameters { get; private set; } + public IList Parameters { get; private set; } - public List Segments { get; private set; } + public IList Segments { get; private set; } private string DebuggerToString() { diff --git a/src/Microsoft.AspNet.Routing/Template/TemplateRoute.cs b/src/Microsoft.AspNet.Routing/Template/TemplateRoute.cs index 59db1c0c2c..19f87ebe6a 100644 --- a/src/Microsoft.AspNet.Routing/Template/TemplateRoute.cs +++ b/src/Microsoft.AspNet.Routing/Template/TemplateRoute.cs @@ -91,6 +91,11 @@ namespace Microsoft.AspNet.Routing.Template get { return _dataTokens; } } + public RouteTemplate ParsedTemplate + { + get { return _parsedTemplate; } + } + public string RouteTemplate { get { return _routeTemplate; } diff --git a/test/Microsoft.AspNet.Routing.Tests/InlineRouteParameterParserTests.cs b/test/Microsoft.AspNet.Routing.Tests/InlineRouteParameterParserTests.cs index 0ea1a7feac..1081f72abd 100644 --- a/test/Microsoft.AspNet.Routing.Tests/InlineRouteParameterParserTests.cs +++ b/test/Microsoft.AspNet.Routing.Tests/InlineRouteParameterParserTests.cs @@ -8,6 +8,7 @@ using Microsoft.AspNet.Routing.Template; using Microsoft.Framework.DependencyInjection; using Microsoft.Framework.OptionsModel; using Xunit; +using System.Linq; namespace Microsoft.AspNet.Routing.Tests {