Clean up endpoint builder (#791)
This commit is contained in:
parent
cf484a49d0
commit
9df5918239
|
|
@ -93,7 +93,7 @@ namespace RoutingSample.Web
|
||||||
},
|
},
|
||||||
"/graph",
|
"/graph",
|
||||||
"DFA Graph",
|
"DFA Graph",
|
||||||
new object[] { new HttpMethodMetadata(new[] { "GET", }) });
|
new HttpMethodMetadata(new[] { "GET", }));
|
||||||
builder.MapEndpoint(
|
builder.MapEndpoint(
|
||||||
(httpContext) =>
|
(httpContext) =>
|
||||||
{
|
{
|
||||||
|
|
@ -107,10 +107,7 @@ namespace RoutingSample.Web
|
||||||
},
|
},
|
||||||
"/WithSingleAsteriskCatchAll/{*path}",
|
"/WithSingleAsteriskCatchAll/{*path}",
|
||||||
"WithSingleAsteriskCatchAll",
|
"WithSingleAsteriskCatchAll",
|
||||||
new object[]
|
new RouteValuesAddressMetadata(routeName: "WithSingleAsteriskCatchAll", requiredValues: new RouteValueDictionary()));
|
||||||
{
|
|
||||||
new RouteValuesAddressMetadata(routeName: "WithSingleAsteriskCatchAll", requiredValues: new RouteValueDictionary()),
|
|
||||||
});
|
|
||||||
builder.MapEndpoint(
|
builder.MapEndpoint(
|
||||||
(httpContext) =>
|
(httpContext) =>
|
||||||
{
|
{
|
||||||
|
|
@ -124,10 +121,7 @@ namespace RoutingSample.Web
|
||||||
},
|
},
|
||||||
"/WithDoubleAsteriskCatchAll/{**path}",
|
"/WithDoubleAsteriskCatchAll/{**path}",
|
||||||
"WithDoubleAsteriskCatchAll",
|
"WithDoubleAsteriskCatchAll",
|
||||||
new object[]
|
new RouteValuesAddressMetadata(routeName: "WithDoubleAsteriskCatchAll", requiredValues: new RouteValueDictionary()));
|
||||||
{
|
|
||||||
new RouteValuesAddressMetadata(routeName: "WithDoubleAsteriskCatchAll", requiredValues: new RouteValueDictionary())
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Imagine some more stuff here...
|
// Imagine some more stuff here...
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ namespace Microsoft.AspNetCore.Builder
|
||||||
{
|
{
|
||||||
public static class MapEndpointEndpointDataSourceBuilderExtensions
|
public static class MapEndpointEndpointDataSourceBuilderExtensions
|
||||||
{
|
{
|
||||||
public static MatcherEndpointBuilder MapEndpoint(
|
public static RouteEndpointBuilder MapEndpoint(
|
||||||
this EndpointDataSourceBuilder builder,
|
this EndpointDataSourceBuilder builder,
|
||||||
RequestDelegate requestDelegate,
|
RequestDelegate requestDelegate,
|
||||||
string pattern,
|
string pattern,
|
||||||
|
|
@ -21,7 +21,7 @@ namespace Microsoft.AspNetCore.Builder
|
||||||
return MapEndpoint(builder, requestDelegate, pattern, displayName, metadata: null);
|
return MapEndpoint(builder, requestDelegate, pattern, displayName, metadata: null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MatcherEndpointBuilder MapEndpoint(
|
public static RouteEndpointBuilder MapEndpoint(
|
||||||
this EndpointDataSourceBuilder builder,
|
this EndpointDataSourceBuilder builder,
|
||||||
RequestDelegate requestDelegate,
|
RequestDelegate requestDelegate,
|
||||||
RoutePattern pattern,
|
RoutePattern pattern,
|
||||||
|
|
@ -30,26 +30,26 @@ namespace Microsoft.AspNetCore.Builder
|
||||||
return MapEndpoint(builder, requestDelegate, pattern, displayName, metadata: null);
|
return MapEndpoint(builder, requestDelegate, pattern, displayName, metadata: null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MatcherEndpointBuilder MapEndpoint(
|
public static RouteEndpointBuilder MapEndpoint(
|
||||||
this EndpointDataSourceBuilder builder,
|
this EndpointDataSourceBuilder builder,
|
||||||
RequestDelegate requestDelegate,
|
RequestDelegate requestDelegate,
|
||||||
string pattern,
|
string pattern,
|
||||||
string displayName,
|
string displayName,
|
||||||
IList<object> metadata)
|
params object[] metadata)
|
||||||
{
|
{
|
||||||
return MapEndpoint(builder, requestDelegate, RoutePatternFactory.Parse(pattern), displayName, metadata);
|
return MapEndpoint(builder, requestDelegate, RoutePatternFactory.Parse(pattern), displayName, metadata);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MatcherEndpointBuilder MapEndpoint(
|
public static RouteEndpointBuilder MapEndpoint(
|
||||||
this EndpointDataSourceBuilder builder,
|
this EndpointDataSourceBuilder builder,
|
||||||
RequestDelegate requestDelegate,
|
RequestDelegate requestDelegate,
|
||||||
RoutePattern pattern,
|
RoutePattern pattern,
|
||||||
string displayName,
|
string displayName,
|
||||||
IList<object> metadata)
|
params object[] metadata)
|
||||||
{
|
{
|
||||||
const int defaultOrder = 0;
|
const int defaultOrder = 0;
|
||||||
|
|
||||||
var endpointBuilder = new MatcherEndpointBuilder(
|
var endpointBuilder = new RouteEndpointBuilder(
|
||||||
requestDelegate,
|
requestDelegate,
|
||||||
pattern,
|
pattern,
|
||||||
defaultOrder);
|
defaultOrder);
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ namespace Microsoft.AspNetCore.Routing
|
||||||
{
|
{
|
||||||
public abstract class EndpointBuilder
|
public abstract class EndpointBuilder
|
||||||
{
|
{
|
||||||
|
public RequestDelegate RequestDelegate { get; set; }
|
||||||
|
|
||||||
public string DisplayName { get; set; }
|
public string DisplayName { get; set; }
|
||||||
|
|
||||||
public IList<object> Metadata { get; } = new List<object>();
|
public IList<object> Metadata { get; } = new List<object>();
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,18 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// 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.
|
// 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.Http;
|
||||||
using Microsoft.AspNetCore.Routing.Patterns;
|
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 RoutePattern RoutePattern { get; set; }
|
||||||
|
|
||||||
public int Order { get; set; }
|
public int Order { get; set; }
|
||||||
|
|
||||||
public MatcherEndpointBuilder(
|
public RouteEndpointBuilder(
|
||||||
RequestDelegate requestDelegate,
|
RequestDelegate requestDelegate,
|
||||||
RoutePattern routePattern,
|
RoutePattern routePattern,
|
||||||
int order)
|
int order)
|
||||||
|
|
@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
||||||
object metadata = new object();
|
object metadata = new object();
|
||||||
RequestDelegate requestDelegate = (d) => null;
|
RequestDelegate requestDelegate = (d) => null;
|
||||||
|
|
||||||
var builder = new MatcherEndpointBuilder(requestDelegate, RoutePatternFactory.Parse("/"), defaultOrder)
|
var builder = new RouteEndpointBuilder(requestDelegate, RoutePatternFactory.Parse("/"), defaultOrder)
|
||||||
{
|
{
|
||||||
DisplayName = "Display name!",
|
DisplayName = "Display name!",
|
||||||
Metadata = { metadata }
|
Metadata = { metadata }
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue