From 9df59182397a1aef9c3049cac93ac7307204e208 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 13 Sep 2018 10:27:01 +1200 Subject: [PATCH] Clean up endpoint builder (#791) --- .../RoutingSample.Web/UseEndpointRoutingStartup.cs | 12 +++--------- ...pEndpointEndpointDataSourceBuilderExtensions.cs | 14 +++++++------- .../EndpointBuilder.cs | 2 ++ ...rEndpointBuilder.cs => RouteEndpointBuilder.cs} | 10 +++------- .../Matching/MatcherEndpointBuilderTest.cs | 2 +- 5 files changed, 16 insertions(+), 24 deletions(-) rename src/Microsoft.AspNetCore.Routing/{Matching/MatcherEndpointBuilder.cs => RouteEndpointBuilder.cs} (77%) diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index 27cf177d19..e8928b8200 100644 --- a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -93,7 +93,7 @@ namespace RoutingSample.Web }, "/graph", "DFA Graph", - new object[] { new HttpMethodMetadata(new[] { "GET", }) }); + new HttpMethodMetadata(new[] { "GET", })); builder.MapEndpoint( (httpContext) => { @@ -107,10 +107,7 @@ namespace RoutingSample.Web }, "/WithSingleAsteriskCatchAll/{*path}", "WithSingleAsteriskCatchAll", - new object[] - { - new RouteValuesAddressMetadata(routeName: "WithSingleAsteriskCatchAll", requiredValues: new RouteValueDictionary()), - }); + new RouteValuesAddressMetadata(routeName: "WithSingleAsteriskCatchAll", requiredValues: new RouteValueDictionary())); builder.MapEndpoint( (httpContext) => { @@ -124,10 +121,7 @@ namespace RoutingSample.Web }, "/WithDoubleAsteriskCatchAll/{**path}", "WithDoubleAsteriskCatchAll", - new object[] - { - new RouteValuesAddressMetadata(routeName: "WithDoubleAsteriskCatchAll", requiredValues: new RouteValueDictionary()) - }); + new RouteValuesAddressMetadata(routeName: "WithDoubleAsteriskCatchAll", requiredValues: new RouteValueDictionary())); }); // Imagine some more stuff here... diff --git a/src/Microsoft.AspNetCore.Routing/Builder/MapEndpointEndpointDataSourceBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Builder/MapEndpointEndpointDataSourceBuilderExtensions.cs index f1e73ffde1..fca430da9a 100644 --- a/src/Microsoft.AspNetCore.Routing/Builder/MapEndpointEndpointDataSourceBuilderExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/Builder/MapEndpointEndpointDataSourceBuilderExtensions.cs @@ -12,7 +12,7 @@ namespace Microsoft.AspNetCore.Builder { public static class MapEndpointEndpointDataSourceBuilderExtensions { - public static MatcherEndpointBuilder MapEndpoint( + public static RouteEndpointBuilder MapEndpoint( this EndpointDataSourceBuilder builder, RequestDelegate requestDelegate, string pattern, @@ -21,7 +21,7 @@ namespace Microsoft.AspNetCore.Builder return MapEndpoint(builder, requestDelegate, pattern, displayName, metadata: null); } - public static MatcherEndpointBuilder MapEndpoint( + public static RouteEndpointBuilder MapEndpoint( this EndpointDataSourceBuilder builder, RequestDelegate requestDelegate, RoutePattern pattern, @@ -30,26 +30,26 @@ namespace Microsoft.AspNetCore.Builder return MapEndpoint(builder, requestDelegate, pattern, displayName, metadata: null); } - public static MatcherEndpointBuilder MapEndpoint( + public static RouteEndpointBuilder MapEndpoint( this EndpointDataSourceBuilder builder, RequestDelegate requestDelegate, string pattern, string displayName, - IList metadata) + params object[] metadata) { return MapEndpoint(builder, requestDelegate, RoutePatternFactory.Parse(pattern), displayName, metadata); } - public static MatcherEndpointBuilder MapEndpoint( + public static RouteEndpointBuilder MapEndpoint( this EndpointDataSourceBuilder builder, RequestDelegate requestDelegate, RoutePattern pattern, string displayName, - IList metadata) + params object[] metadata) { const int defaultOrder = 0; - var endpointBuilder = new MatcherEndpointBuilder( + var endpointBuilder = new RouteEndpointBuilder( requestDelegate, pattern, defaultOrder); diff --git a/src/Microsoft.AspNetCore.Routing/EndpointBuilder.cs b/src/Microsoft.AspNetCore.Routing/EndpointBuilder.cs index 283c8a7cb6..27d64f1625 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointBuilder.cs @@ -8,6 +8,8 @@ namespace Microsoft.AspNetCore.Routing { public abstract class EndpointBuilder { + public RequestDelegate RequestDelegate { get; set; } + public string DisplayName { get; set; } public IList Metadata { get; } = new List(); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpointBuilder.cs b/src/Microsoft.AspNetCore.Routing/RouteEndpointBuilder.cs similarity index 77% rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpointBuilder.cs rename to src/Microsoft.AspNetCore.Routing/RouteEndpointBuilder.cs index c351aeb4da..a45d71d391 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpointBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteEndpointBuilder.cs @@ -1,22 +1,18 @@ // Copyright (c) .NET Foundation. All rights reserved. // 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 Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; -namespace Microsoft.AspNetCore.Routing.Matching +namespace Microsoft.AspNetCore.Routing { - public sealed class MatcherEndpointBuilder : EndpointBuilder + public sealed class RouteEndpointBuilder : EndpointBuilder { - public RequestDelegate RequestDelegate { get; set; } - public RoutePattern RoutePattern { get; set; } public int Order { get; set; } - public MatcherEndpointBuilder( + public RouteEndpointBuilder( RequestDelegate requestDelegate, RoutePattern routePattern, int order) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointBuilderTest.cs index 3d6e44160b..3e93c1d3db 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointBuilderTest.cs @@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing.Matching object metadata = new object(); RequestDelegate requestDelegate = (d) => null; - var builder = new MatcherEndpointBuilder(requestDelegate, RoutePatternFactory.Parse("/"), defaultOrder) + var builder = new RouteEndpointBuilder(requestDelegate, RoutePatternFactory.Parse("/"), defaultOrder) { DisplayName = "Display name!", Metadata = { metadata }