From bb413c6ac33fbc5bd5459033cb29afb3b002cdf2 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 25 Oct 2017 23:55:24 -0700 Subject: [PATCH] Rename a bunch of old stuff --- samples/DispatcherSample/Startup.cs | 26 ++++----- .../DispatcherServiceCollectionExtensions.cs | 4 +- .../HttpMethodEndpointSelector.cs | 2 +- ...lateAddress.cs => IRoutePatternAddress.cs} | 4 +- ...teEndpoint.cs => IRoutePatternEndpoint.cs} | 4 +- ...plateAddress.cs => RoutePatternAddress.cs} | 18 +++--- ...ctor.cs => RoutePatternAddressSelector.cs} | 8 +-- ...ateEndpoint.cs => RoutePatternEndpoint.cs} | 56 +++++++++---------- ... => RoutePatternEndpointHandlerFactory.cs} | 6 +- .../RoutePatternTemplateFactory.cs | 8 +-- .../Dispatcher/TreeMatcher.cs | 8 +-- .../ApiAppStartup.cs | 16 +++--- .../HttpMethodEndpointSelectorTest.cs | 18 +++--- 13 files changed, 88 insertions(+), 90 deletions(-) rename src/Microsoft.AspNetCore.Dispatcher/{ITemplateAddress.cs => IRoutePatternAddress.cs} (79%) rename src/Microsoft.AspNetCore.Dispatcher/{ITemplateEndpoint.cs => IRoutePatternEndpoint.cs} (80%) rename src/Microsoft.AspNetCore.Dispatcher/{TemplateAddress.cs => RoutePatternAddress.cs} (59%) rename src/Microsoft.AspNetCore.Dispatcher/{TemplateAddressSelector.cs => RoutePatternAddressSelector.cs} (89%) rename src/Microsoft.AspNetCore.Dispatcher/{TemplateEndpoint.cs => RoutePatternEndpoint.cs} (50%) rename src/Microsoft.AspNetCore.Dispatcher/{TemplateEndpointHandlerFactory.cs => RoutePatternEndpointHandlerFactory.cs} (73%) diff --git a/samples/DispatcherSample/Startup.cs b/samples/DispatcherSample/Startup.cs index 139867abe5..7317e8c257 100644 --- a/samples/DispatcherSample/Startup.cs +++ b/samples/DispatcherSample/Startup.cs @@ -35,20 +35,20 @@ namespace DispatcherSample { Addresses = { - new TemplateAddress("{id?}", new { controller = "Home", action = "Index", }, "Home:Index()"), - new TemplateAddress("Home/About/{id?}", new { controller = "Home", action = "About", }, "Home:About()"), - new TemplateAddress("Admin/Index/{id?}", new { controller = "Admin", action = "Index", }, "Admin:Index()"), - new TemplateAddress("Admin/Users/{id?}", new { controller = "Admin", action = "Users", }, "Admin:GetUsers()/Admin:EditUsers()"), + new RoutePatternAddress("{id?}", new { controller = "Home", action = "Index", }, "Home:Index()"), + new RoutePatternAddress("Home/About/{id?}", new { controller = "Home", action = "About", }, "Home:About()"), + new RoutePatternAddress("Admin/Index/{id?}", new { controller = "Admin", action = "Index", }, "Admin:Index()"), + new RoutePatternAddress("Admin/Users/{id?}", new { controller = "Admin", action = "Users", }, "Admin:GetUsers()/Admin:EditUsers()"), }, Endpoints = { - new TemplateEndpoint("{id?}", new { controller = "Home", action = "Index", }, Home_Index, "Home:Index()"), - new TemplateEndpoint("Home/{id?}", new { controller = "Home", action = "Index", }, Home_Index, "Home:Index()"), - new TemplateEndpoint("Home/Index/{id?}", new { controller = "Home", action = "Index", }, Home_Index, "Home:Index()"), - new TemplateEndpoint("Home/About/{id?}", new { controller = "Home", action = "About", }, Home_About, "Home:About()"), - new TemplateEndpoint("Admin/Index/{id?}", new { controller = "Admin", action = "Index", }, Admin_Index, "Admin:Index()"), - new TemplateEndpoint("Admin/Users/{id?}", new { controller = "Admin", action = "Users", }, "GET", Admin_GetUsers, "Admin:GetUsers()", new AuthorizationPolicyMetadata("Admin")), - new TemplateEndpoint("Admin/Users/{id?}", new { controller = "Admin", action = "Users", }, "POST", Admin_EditUsers, "Admin:EditUsers()", new AuthorizationPolicyMetadata("Admin")), + new RoutePatternEndpoint("{id?}", new { controller = "Home", action = "Index", }, Home_Index, "Home:Index()"), + new RoutePatternEndpoint("Home/{id?}", new { controller = "Home", action = "Index", }, Home_Index, "Home:Index()"), + new RoutePatternEndpoint("Home/Index/{id?}", new { controller = "Home", action = "Index", }, Home_Index, "Home:Index()"), + new RoutePatternEndpoint("Home/About/{id?}", new { controller = "Home", action = "About", }, Home_About, "Home:About()"), + new RoutePatternEndpoint("Admin/Index/{id?}", new { controller = "Admin", action = "Index", }, Admin_Index, "Admin:Index()"), + new RoutePatternEndpoint("Admin/Users/{id?}", new { controller = "Admin", action = "Users", }, "GET", Admin_GetUsers, "Admin:GetUsers()", new AuthorizationPolicyMetadata("Admin")), + new RoutePatternEndpoint("Admin/Users/{id?}", new { controller = "Admin", action = "Users", }, "POST", Admin_EditUsers, "Admin:EditUsers()", new AuthorizationPolicyMetadata("Admin")), }, }; } @@ -62,7 +62,7 @@ namespace DispatcherSample logger.LogInformation("Executing fake CORS middleware"); var feature = context.Features.Get(); - var policy = feature.Endpoint?.Metadata.OfType().LastOrDefault(); + var policy = feature.Endpoint?.Metadata.GetMetadata(); logger.LogInformation("using CORS policy {PolicyName}", policy?.Name ?? "default"); await next.Invoke(); @@ -73,7 +73,7 @@ namespace DispatcherSample logger.LogInformation("Executing fake AuthZ middleware"); var feature = context.Features.Get(); - var policy = feature.Endpoint?.Metadata.OfType().LastOrDefault(); + var policy = feature.Endpoint?.Metadata.GetMetadata(); if (policy != null) { logger.LogInformation("using Auth policy {PolicyName}", policy.Name); diff --git a/src/Microsoft.AspNetCore.Dispatcher/DependencyInjection/DispatcherServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Dispatcher/DependencyInjection/DispatcherServiceCollectionExtensions.cs index bd81283ac6..ea36a43083 100644 --- a/src/Microsoft.AspNetCore.Dispatcher/DependencyInjection/DispatcherServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Dispatcher/DependencyInjection/DispatcherServiceCollectionExtensions.cs @@ -30,14 +30,14 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); - services.TryAddSingleton(); + services.TryAddSingleton(); // // Misc Infrastructure // services.TryAddSingleton(); - services.TryAddEnumerable(ServiceDescriptor.Singleton()); + services.TryAddEnumerable(ServiceDescriptor.Singleton()); return services; } diff --git a/src/Microsoft.AspNetCore.Dispatcher/HttpMethodEndpointSelector.cs b/src/Microsoft.AspNetCore.Dispatcher/HttpMethodEndpointSelector.cs index f25e94d488..d860e3101e 100644 --- a/src/Microsoft.AspNetCore.Dispatcher/HttpMethodEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Dispatcher/HttpMethodEndpointSelector.cs @@ -36,7 +36,7 @@ namespace Microsoft.AspNetCore.Dispatcher var fallbackEndpoints = new List(); for (var i = context.Endpoints.Count - 1; i >= 0; i--) { - var endpoint = context.Endpoints[i] as ITemplateEndpoint; + var endpoint = context.Endpoints[i] as IRoutePatternEndpoint; if (endpoint == null || endpoint.HttpMethod == null) { // No metadata. diff --git a/src/Microsoft.AspNetCore.Dispatcher/ITemplateAddress.cs b/src/Microsoft.AspNetCore.Dispatcher/IRoutePatternAddress.cs similarity index 79% rename from src/Microsoft.AspNetCore.Dispatcher/ITemplateAddress.cs rename to src/Microsoft.AspNetCore.Dispatcher/IRoutePatternAddress.cs index 71fd9e4b1d..ace0c2974d 100644 --- a/src/Microsoft.AspNetCore.Dispatcher/ITemplateAddress.cs +++ b/src/Microsoft.AspNetCore.Dispatcher/IRoutePatternAddress.cs @@ -3,9 +3,9 @@ namespace Microsoft.AspNetCore.Dispatcher { - public interface ITemplateAddress + public interface IRoutePatternAddress { - string Template { get; } + string Pattern { get; } DispatcherValueCollection Defaults { get; } } diff --git a/src/Microsoft.AspNetCore.Dispatcher/ITemplateEndpoint.cs b/src/Microsoft.AspNetCore.Dispatcher/IRoutePatternEndpoint.cs similarity index 80% rename from src/Microsoft.AspNetCore.Dispatcher/ITemplateEndpoint.cs rename to src/Microsoft.AspNetCore.Dispatcher/IRoutePatternEndpoint.cs index 06c9c6b091..ad583762f6 100644 --- a/src/Microsoft.AspNetCore.Dispatcher/ITemplateEndpoint.cs +++ b/src/Microsoft.AspNetCore.Dispatcher/IRoutePatternEndpoint.cs @@ -3,11 +3,11 @@ namespace Microsoft.AspNetCore.Dispatcher { - public interface ITemplateEndpoint + public interface IRoutePatternEndpoint { string HttpMethod { get; } - string Template { get; } + string Pattern { get; } DispatcherValueCollection Values { get; } } diff --git a/src/Microsoft.AspNetCore.Dispatcher/TemplateAddress.cs b/src/Microsoft.AspNetCore.Dispatcher/RoutePatternAddress.cs similarity index 59% rename from src/Microsoft.AspNetCore.Dispatcher/TemplateAddress.cs rename to src/Microsoft.AspNetCore.Dispatcher/RoutePatternAddress.cs index 139dd2c8e6..f53e7a81e6 100644 --- a/src/Microsoft.AspNetCore.Dispatcher/TemplateAddress.cs +++ b/src/Microsoft.AspNetCore.Dispatcher/RoutePatternAddress.cs @@ -2,23 +2,21 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; -using System.Linq; namespace Microsoft.AspNetCore.Dispatcher { - public class TemplateAddress : Address, ITemplateAddress + public class RoutePatternAddress : Address, IRoutePatternAddress { - public TemplateAddress(string template, object values, params object[] metadata) - : this(template, values, null, metadata) + public RoutePatternAddress(string pattern, object values, params object[] metadata) + : this(pattern, values, null, metadata) { } - public TemplateAddress(string template, object values, string displayName, params object[] metadata) + public RoutePatternAddress(string pattern, object values, string displayName, params object[] metadata) { - if (template == null) + if (pattern == null) { - throw new ArgumentNullException(nameof(template)); + throw new ArgumentNullException(nameof(pattern)); } if (metadata == null) @@ -26,7 +24,7 @@ namespace Microsoft.AspNetCore.Dispatcher throw new ArgumentNullException(nameof(metadata)); } - Template = template; + Pattern = pattern; Defaults = new DispatcherValueCollection(values); DisplayName = displayName; Metadata = new MetadataCollection(metadata); @@ -36,7 +34,7 @@ namespace Microsoft.AspNetCore.Dispatcher public override MetadataCollection Metadata { get; } - public string Template { get; } + public string Pattern { get; } public DispatcherValueCollection Defaults { get; } } diff --git a/src/Microsoft.AspNetCore.Dispatcher/TemplateAddressSelector.cs b/src/Microsoft.AspNetCore.Dispatcher/RoutePatternAddressSelector.cs similarity index 89% rename from src/Microsoft.AspNetCore.Dispatcher/TemplateAddressSelector.cs rename to src/Microsoft.AspNetCore.Dispatcher/RoutePatternAddressSelector.cs index 4ce2d6a43f..94e2e407f1 100644 --- a/src/Microsoft.AspNetCore.Dispatcher/TemplateAddressSelector.cs +++ b/src/Microsoft.AspNetCore.Dispatcher/RoutePatternAddressSelector.cs @@ -7,11 +7,11 @@ using System.Collections.Generic; namespace Microsoft.AspNetCore.Dispatcher { // This isn't a proposed design, just a placeholder to demonstrate that things are wired up correctly. - public class TemplateAddressSelector + public class RoutePatternAddressSelector { private readonly AddressTable _addressTable; - public TemplateAddressSelector(AddressTable addressTable) + public RoutePatternAddressSelector(AddressTable addressTable) { if (addressTable == null) { @@ -42,7 +42,7 @@ namespace Microsoft.AspNetCore.Dispatcher for (var j = 0; j < group.Count; j++) { - var address = group[j] as ITemplateAddress; + var address = group[j] as IRoutePatternAddress; if (address == null) { continue; @@ -72,7 +72,7 @@ namespace Microsoft.AspNetCore.Dispatcher return null; } - private bool IsMatch(ITemplateAddress address, DispatcherValueCollection values) + private bool IsMatch(IRoutePatternAddress address, DispatcherValueCollection values) { foreach (var kvp in address.Defaults) { diff --git a/src/Microsoft.AspNetCore.Dispatcher/TemplateEndpoint.cs b/src/Microsoft.AspNetCore.Dispatcher/RoutePatternEndpoint.cs similarity index 50% rename from src/Microsoft.AspNetCore.Dispatcher/TemplateEndpoint.cs rename to src/Microsoft.AspNetCore.Dispatcher/RoutePatternEndpoint.cs index ebe8a5aedb..6e7a3ca3b0 100644 --- a/src/Microsoft.AspNetCore.Dispatcher/TemplateEndpoint.cs +++ b/src/Microsoft.AspNetCore.Dispatcher/RoutePatternEndpoint.cs @@ -8,59 +8,59 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Dispatcher { - public class TemplateEndpoint : Endpoint, ITemplateEndpoint + public class RoutePatternEndpoint : Endpoint, IRoutePatternEndpoint { - public TemplateEndpoint(string template, RequestDelegate requestDelegate, params object[] metadata) - : this(template, (object)null, (string)null, requestDelegate, null, metadata) + public RoutePatternEndpoint(string pattern, RequestDelegate requestDelegate, params object[] metadata) + : this(pattern, (object)null, (string)null, requestDelegate, null, metadata) { } - public TemplateEndpoint(string template, Func delegateFactory, params object[] metadata) - : this(template, (object)null, (string)null, delegateFactory, null, metadata) + public RoutePatternEndpoint(string pattern, Func delegateFactory, params object[] metadata) + : this(pattern, (object)null, (string)null, delegateFactory, null, metadata) { } - public TemplateEndpoint(string template, object values, RequestDelegate requestDelegate, params object[] metadata) - : this(template, values, null, requestDelegate, null, metadata) + public RoutePatternEndpoint(string pattern, object values, RequestDelegate requestDelegate, params object[] metadata) + : this(pattern, values, null, requestDelegate, null, metadata) { } - public TemplateEndpoint(string template, object values, Func delegateFactory, params object[] metadata) - : this(template, values, null, delegateFactory, null, metadata) + public RoutePatternEndpoint(string pattern, object values, Func delegateFactory, params object[] metadata) + : this(pattern, values, null, delegateFactory, null, metadata) { } - public TemplateEndpoint(string template, object values, RequestDelegate requestDelegate, string displayName, params object[] metadata) - : this(template, values, null, requestDelegate, displayName, metadata) + public RoutePatternEndpoint(string pattern, object values, RequestDelegate requestDelegate, string displayName, params object[] metadata) + : this(pattern, values, null, requestDelegate, displayName, metadata) { } - public TemplateEndpoint(string template, object values, Func delegateFactory, string displayName, params object[] metadata) - : this(template, values, null, delegateFactory, displayName, metadata) + public RoutePatternEndpoint(string pattern, object values, Func delegateFactory, string displayName, params object[] metadata) + : this(pattern, values, null, delegateFactory, displayName, metadata) { } - public TemplateEndpoint(string template, object values, string httpMethod, RequestDelegate requestDelegate, params object[] metadata) - : this(template, values, httpMethod, requestDelegate, null, metadata) + public RoutePatternEndpoint(string pattern, object values, string httpMethod, RequestDelegate requestDelegate, params object[] metadata) + : this(pattern, values, httpMethod, requestDelegate, null, metadata) { } - public TemplateEndpoint(string template, object values, string httpMethod, Func delegateFactory, params object[] metadata) - : this(template, values, httpMethod, delegateFactory, null, metadata) + public RoutePatternEndpoint(string pattern, object values, string httpMethod, Func delegateFactory, params object[] metadata) + : this(pattern, values, httpMethod, delegateFactory, null, metadata) { } - public TemplateEndpoint( - string template, + public RoutePatternEndpoint( + string pattern, object values, string httpMethod, RequestDelegate requestDelegate, string displayName, params object[] metadata) { - if (template == null) + if (pattern == null) { - throw new ArgumentNullException(nameof(template)); + throw new ArgumentNullException(nameof(pattern)); } if (requestDelegate == null) @@ -73,7 +73,7 @@ namespace Microsoft.AspNetCore.Dispatcher throw new ArgumentNullException(nameof(metadata)); } - Template = template; + Pattern = pattern; Values = new DispatcherValueCollection(values); HttpMethod = httpMethod; HandlerFactory = (next) => requestDelegate; @@ -81,17 +81,17 @@ namespace Microsoft.AspNetCore.Dispatcher Metadata = new MetadataCollection(metadata); } - public TemplateEndpoint( - string template, + public RoutePatternEndpoint( + string pattern, object values, string httpMethod, Func delegateFactory, string displayName, params object[] metadata) { - if (template == null) + if (pattern == null) { - throw new ArgumentNullException(nameof(template)); + throw new ArgumentNullException(nameof(pattern)); } if (delegateFactory == null) @@ -104,7 +104,7 @@ namespace Microsoft.AspNetCore.Dispatcher throw new ArgumentNullException(nameof(metadata)); } - Template = template; + Pattern = pattern; Values = new DispatcherValueCollection(values); HttpMethod = httpMethod; HandlerFactory = delegateFactory; @@ -120,7 +120,7 @@ namespace Microsoft.AspNetCore.Dispatcher public Func HandlerFactory { get; } - public string Template { get; } + public string Pattern { get; } public DispatcherValueCollection Values { get; } } diff --git a/src/Microsoft.AspNetCore.Dispatcher/TemplateEndpointHandlerFactory.cs b/src/Microsoft.AspNetCore.Dispatcher/RoutePatternEndpointHandlerFactory.cs similarity index 73% rename from src/Microsoft.AspNetCore.Dispatcher/TemplateEndpointHandlerFactory.cs rename to src/Microsoft.AspNetCore.Dispatcher/RoutePatternEndpointHandlerFactory.cs index f90c146a4c..e77fc82be2 100644 --- a/src/Microsoft.AspNetCore.Dispatcher/TemplateEndpointHandlerFactory.cs +++ b/src/Microsoft.AspNetCore.Dispatcher/RoutePatternEndpointHandlerFactory.cs @@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Dispatcher { - public sealed class TemplateEndpointHandlerFactory : IHandlerFactory + public sealed class RoutePatternEndpointHandlerFactory : IHandlerFactory { public Func CreateHandler(Endpoint endpoint) { @@ -15,9 +15,9 @@ namespace Microsoft.AspNetCore.Dispatcher throw new ArgumentNullException(nameof(endpoint)); } - if (endpoint is TemplateEndpoint templateEndpoint) + if (endpoint is RoutePatternEndpoint routePatternEndpoint) { - return templateEndpoint.HandlerFactory; + return routePatternEndpoint.HandlerFactory; } return null; diff --git a/src/Microsoft.AspNetCore.Dispatcher/RoutePatternTemplateFactory.cs b/src/Microsoft.AspNetCore.Dispatcher/RoutePatternTemplateFactory.cs index 4372cb4726..24d9461c27 100644 --- a/src/Microsoft.AspNetCore.Dispatcher/RoutePatternTemplateFactory.cs +++ b/src/Microsoft.AspNetCore.Dispatcher/RoutePatternTemplateFactory.cs @@ -7,10 +7,10 @@ namespace Microsoft.AspNetCore.Dispatcher { internal class RoutePatternTemplateFactory : TemplateFactory { - private readonly TemplateAddressSelector _selector; + private readonly RoutePatternAddressSelector _selector; private readonly RoutePatternBinderFactory _binderFactory; - public RoutePatternTemplateFactory(TemplateAddressSelector selector, RoutePatternBinderFactory binderFactory) + public RoutePatternTemplateFactory(RoutePatternAddressSelector selector, RoutePatternBinderFactory binderFactory) { if (selector == null) { @@ -39,9 +39,9 @@ namespace Microsoft.AspNetCore.Dispatcher return null; } - if (address is ITemplateAddress templateAddress) + if (address is IRoutePatternAddress templateAddress) { - var binder = _binderFactory.Create(templateAddress.Template, templateAddress.Defaults); + var binder = _binderFactory.Create(templateAddress.Pattern, templateAddress.Defaults); return new RoutePatternTemplate(binder); } diff --git a/src/Microsoft.AspNetCore.Routing/Dispatcher/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Dispatcher/TreeMatcher.cs index b1622dd3dc..443aff97d3 100644 --- a/src/Microsoft.AspNetCore.Routing/Dispatcher/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Dispatcher/TreeMatcher.cs @@ -82,7 +82,7 @@ namespace Microsoft.AspNetCore.Routing.Dispatcher if (context.Endpoint != null) { - if (context.Endpoint is ITemplateEndpoint templateEndpoint) + if (context.Endpoint is IRoutePatternEndpoint templateEndpoint) { foreach (var kvp in templateEndpoint.Values) { @@ -128,16 +128,16 @@ namespace Microsoft.AspNetCore.Routing.Dispatcher { var endpoint = endpoints[i]; - var templateEndpoint = endpoint as ITemplateEndpoint; + var templateEndpoint = endpoint as IRoutePatternEndpoint; if (templateEndpoint == null) { continue; } - if (!groups.TryGetValue(new Key(0, templateEndpoint.Template), out var group)) + if (!groups.TryGetValue(new Key(0, templateEndpoint.Pattern), out var group)) { group = new List(); - groups.Add(new Key(0, templateEndpoint.Template), group); + groups.Add(new Key(0, templateEndpoint.Pattern), group); } group.Add(endpoint); diff --git a/test/Microsoft.AspNetCore.Dispatcher.FunctionalTest/ApiAppStartup.cs b/test/Microsoft.AspNetCore.Dispatcher.FunctionalTest/ApiAppStartup.cs index 10fd842549..9a193cc015 100644 --- a/test/Microsoft.AspNetCore.Dispatcher.FunctionalTest/ApiAppStartup.cs +++ b/test/Microsoft.AspNetCore.Dispatcher.FunctionalTest/ApiAppStartup.cs @@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Dispatcher.FunctionalTest logger.LogInformation("Executing fake CORS middleware"); var feature = context.Features.Get(); - var policy = feature.Endpoint?.Metadata.OfType().LastOrDefault(); + var policy = feature.Endpoint?.Metadata.GetMetadata(); logger.LogInformation("using CORS policy {PolicyName}", policy?.Name ?? "default"); await next(context); @@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Dispatcher.FunctionalTest logger.LogInformation("Executing fake AuthZ middleware"); var feature = context.Features.Get(); - var policy = feature.Endpoint?.Metadata.OfType().LastOrDefault(); + var policy = feature.Endpoint?.Metadata.GetMetadata(); if (policy != null) { logger.LogInformation("using Auth policy {PolicyName}", policy.Name); @@ -61,18 +61,18 @@ namespace Microsoft.AspNetCore.Dispatcher.FunctionalTest { Endpoints = { - new TemplateEndpoint("api/products", Products_Fallback), - new TemplateEndpoint("api/products", new { controller = "Products", action = "Get", }, "GET", Products_Get), - new TemplateEndpoint("api/products/{id}", new { controller = "Products", action = "Get", }, "GET", Products_GetWithId), - new TemplateEndpoint("api/products", new { controller = "Products", action = "Post", }, "POST", Products_Post), - new TemplateEndpoint("api/products/{id}", new { controller = "Products", action = "Put", }, "PUT", Products_Put), + new RoutePatternEndpoint("api/products", Products_Fallback), + new RoutePatternEndpoint("api/products", new { controller = "Products", action = "Get", }, "GET", Products_Get), + new RoutePatternEndpoint("api/products/{id}", new { controller = "Products", action = "Get", }, "GET", Products_GetWithId), + new RoutePatternEndpoint("api/products", new { controller = "Products", action = "Post", }, "POST", Products_Post), + new RoutePatternEndpoint("api/products/{id}", new { controller = "Products", action = "Put", }, "PUT", Products_Put), }, Selectors = { new HttpMethodEndpointSelector(), }, - }, new TemplateEndpointHandlerFactory()); + }, new RoutePatternEndpointHandlerFactory()); } private Task Products_Fallback(HttpContext httpContext) => httpContext.Response.WriteAsync("Hello, Products_Fallback"); diff --git a/test/Microsoft.AspNetCore.Dispatcher.Test/HttpMethodEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Dispatcher.Test/HttpMethodEndpointSelectorTest.cs index 19d1cd43ae..550644bdd0 100644 --- a/test/Microsoft.AspNetCore.Dispatcher.Test/HttpMethodEndpointSelectorTest.cs +++ b/test/Microsoft.AspNetCore.Dispatcher.Test/HttpMethodEndpointSelectorTest.cs @@ -21,15 +21,15 @@ namespace Microsoft.AspNetCore.Dispatcher // Arrange var endpoints = new List() { - new TemplateEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Get", }, "GET", Products_Get, "Products:Get()"), - new TemplateEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Create", }, "POST", Products_Post, "Products:Post()"), + new RoutePatternEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Get", }, "GET", Products_Get, "Products:Get()"), + new RoutePatternEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Create", }, "POST", Products_Post, "Products:Post()"), }; var (context, selector) = CreateContextAndSelector(httpMethod, endpoints); // Act await selector.SelectAsync(context); - var templateEndpoints = context.Endpoints.Cast(); + var templateEndpoints = context.Endpoints.Cast(); // Assert Assert.Collection( @@ -43,8 +43,8 @@ namespace Microsoft.AspNetCore.Dispatcher // Arrange var endpoints = new List() { - new TemplateEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Get", }, "GET", Products_Get, "Products:Get()"), - new TemplateEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Create", }, "POST", Products_Post, "Products:Post()"), + new RoutePatternEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Get", }, "GET", Products_Get, "Products:Get()"), + new RoutePatternEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Create", }, "POST", Products_Post, "Products:Post()"), }; var (context, selector) = CreateContextAndSelector("PUT", endpoints); @@ -64,16 +64,16 @@ namespace Microsoft.AspNetCore.Dispatcher // Arrange var endpoints = new List() { - new TemplateEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Get", }, "GET", Products_Get, "Products:Get()"), - new TemplateEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Create", }, "POST", Products_Post, "Products:Post()"), - new TemplateEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Get", }, Products_Get), + new RoutePatternEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Get", }, "GET", Products_Get, "Products:Get()"), + new RoutePatternEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Create", }, "POST", Products_Post, "Products:Post()"), + new RoutePatternEndpoint("{controller=Home}/{action=Index}/{id?}", new { controller = "Products", action = "Get", }, Products_Get), }; var (context, selector) = CreateContextAndSelector(httpMethod, endpoints); // Act await selector.SelectAsync(context); - var templateEndpoints = context.Endpoints.Cast(); + var templateEndpoints = context.Endpoints.Cast(); // Assert Assert.Collection(