Reaction PR from routing rename

This commit is contained in:
Ryan Nowak 2018-09-19 21:55:23 -07:00
parent 9c424b7b02
commit 5c4c746797
9 changed files with 29 additions and 29 deletions

View File

@ -48,8 +48,8 @@
<MicrosoftAspNetCoreRazorTagHelpersTestingSourcesPackageVersion>2.2.0-preview3-35252</MicrosoftAspNetCoreRazorTagHelpersTestingSourcesPackageVersion>
<MicrosoftAspNetCoreResponseCachingAbstractionsPackageVersion>2.2.0-preview3-35252</MicrosoftAspNetCoreResponseCachingAbstractionsPackageVersion>
<MicrosoftAspNetCoreResponseCachingPackageVersion>2.2.0-preview3-35252</MicrosoftAspNetCoreResponseCachingPackageVersion>
<MicrosoftAspNetCoreRoutingAbstractionsPackageVersion>2.2.0-preview3-35252</MicrosoftAspNetCoreRoutingAbstractionsPackageVersion>
<MicrosoftAspNetCoreRoutingPackageVersion>2.2.0-preview3-35252</MicrosoftAspNetCoreRoutingPackageVersion>
<MicrosoftAspNetCoreRoutingAbstractionsPackageVersion>2.2.0-a-preview3-outbound-parameter-tranformer-16996</MicrosoftAspNetCoreRoutingAbstractionsPackageVersion>
<MicrosoftAspNetCoreRoutingPackageVersion>2.2.0-a-preview3-outbound-parameter-tranformer-16996</MicrosoftAspNetCoreRoutingPackageVersion>
<MicrosoftAspNetCoreServerIISIntegrationPackageVersion>2.2.0-preview3-35252</MicrosoftAspNetCoreServerIISIntegrationPackageVersion>
<MicrosoftAspNetCoreServerKestrelPackageVersion>2.2.0-preview3-35252</MicrosoftAspNetCoreServerKestrelPackageVersion>
<MicrosoftAspNetCoreSessionPackageVersion>2.2.0-preview3-35252</MicrosoftAspNetCoreSessionPackageVersion>

View File

@ -225,7 +225,7 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationModels
return ReplaceTokens(template, values, routeTokenTransformer: null);
}
public static string ReplaceTokens(string template, IDictionary<string, string> values, IParameterTransformer routeTokenTransformer)
public static string ReplaceTokens(string template, IDictionary<string, string> values, IOutboundParameterTransformer routeTokenTransformer)
{
var builder = new StringBuilder();
var state = TemplateParserState.Plaintext;
@ -379,7 +379,7 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationModels
if (routeTokenTransformer != null)
{
value = routeTokenTransformer.Transform(value);
value = routeTokenTransformer.TransformOutbound(value);
}
builder.Append(value);

View File

@ -8,17 +8,17 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationModels
{
/// <summary>
/// An <see cref="IActionModelConvention"/> that sets attribute routing token replacement
/// to use the specified <see cref="IParameterTransformer"/> on <see cref="ActionModel"/> selectors.
/// to use the specified <see cref="IOutboundParameterTransformer"/> on <see cref="ActionModel"/> selectors.
/// </summary>
public class RouteTokenTransformerConvention : IActionModelConvention
{
private readonly IParameterTransformer _parameterTransformer;
private readonly IOutboundParameterTransformer _parameterTransformer;
/// <summary>
/// Creates a new instance of <see cref="RouteTokenTransformerConvention"/> with the specified <see cref="IParameterTransformer"/>.
/// Creates a new instance of <see cref="RouteTokenTransformerConvention"/> with the specified <see cref="IOutboundParameterTransformer"/>.
/// </summary>
/// <param name="parameterTransformer">The <see cref="IParameterTransformer"/> to use with attribute routing token replacement.</param>
public RouteTokenTransformerConvention(IParameterTransformer parameterTransformer)
/// <param name="parameterTransformer">The <see cref="IOutboundParameterTransformer"/> to use with attribute routing token replacement.</param>
public RouteTokenTransformerConvention(IOutboundParameterTransformer parameterTransformer)
{
if (parameterTransformer == null)
{
@ -32,7 +32,7 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationModels
{
if (ShouldApply(action))
{
action.Properties[typeof(IParameterTransformer)] = _parameterTransformer;
action.Properties[typeof(IOutboundParameterTransformer)] = _parameterTransformer;
}
}

View File

@ -390,8 +390,8 @@ namespace Microsoft.AspNetCore.Mvc.Internal
{
try
{
actionDescriptor.Properties.TryGetValue(typeof(IParameterTransformer), out var transformer);
var routeTokenTransformer = transformer as IParameterTransformer;
actionDescriptor.Properties.TryGetValue(typeof(IOutboundParameterTransformer), out var transformer);
var routeTokenTransformer = transformer as IOutboundParameterTransformer;
actionDescriptor.AttributeRouteInfo.Template = AttributeRouteModel.ReplaceTokens(
actionDescriptor.AttributeRouteInfo.Template,

View File

@ -277,9 +277,9 @@ namespace Microsoft.AspNetCore.Mvc.Internal
// Use the first transformer policy
for (var k = 0; k < parameterPolicies.Count; k++)
{
if (parameterPolicies[k] is IParameterTransformer parameterTransformer)
if (parameterPolicies[k] is IOutboundParameterTransformer parameterTransformer)
{
parameterRouteValue = parameterTransformer.Transform(parameterRouteValue);
parameterRouteValue = parameterTransformer.TransformOutbound(parameterRouteValue);
break;
}
}

View File

@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Mvc.Test.ApplicationModels
convention.Apply(model);
// Assert
Assert.True(model.Properties.TryGetValue(typeof(IParameterTransformer), out var routeTokenTransformer));
Assert.True(model.Properties.TryGetValue(typeof(IOutboundParameterTransformer), out var routeTokenTransformer));
Assert.Equal(transformer, routeTokenTransformer);
}
@ -68,7 +68,7 @@ namespace Microsoft.AspNetCore.Mvc.Test.ApplicationModels
convention.Apply(model);
// Assert
Assert.False(model.Properties.TryGetValue(typeof(IParameterTransformer), out _));
Assert.False(model.Properties.TryGetValue(typeof(IOutboundParameterTransformer), out _));
}
private MethodInfo GetMethodInfo()
@ -76,17 +76,17 @@ namespace Microsoft.AspNetCore.Mvc.Test.ApplicationModels
return typeof(RouteTokenTransformerConventionTest).GetMethod(nameof(GetMethodInfo), BindingFlags.NonPublic | BindingFlags.Instance);
}
private class TestParameterTransformer : IParameterTransformer
private class TestParameterTransformer : IOutboundParameterTransformer
{
public string Transform(string value)
public string TransformOutbound(object value)
{
return value;
return value?.ToString();
}
}
private class CustomRouteTokenTransformerConvention : RouteTokenTransformerConvention
{
public CustomRouteTokenTransformerConvention(IParameterTransformer parameterTransformer) : base(parameterTransformer)
public CustomRouteTokenTransformerConvention(IOutboundParameterTransformer parameterTransformer) : base(parameterTransformer)
{
}

View File

@ -771,11 +771,11 @@ namespace Microsoft.AspNetCore.Mvc.Internal
return dataSource;
}
private class UpperCaseParameterTransform : IParameterTransformer
private class UpperCaseParameterTransform : IOutboundParameterTransformer
{
public string Transform(string value)
public string TransformOutbound(object value)
{
return value?.ToUpperInvariant();
return value?.ToString().ToUpperInvariant();
}
}

View File

@ -11,9 +11,9 @@ namespace RoutingWebSite
public class ControllerRouteTokenTransformerConvention : IApplicationModelConvention
{
private readonly Type _controllerType;
private readonly IParameterTransformer _parameterTransformer;
private readonly IOutboundParameterTransformer _parameterTransformer;
public ControllerRouteTokenTransformerConvention(Type controllerType, IParameterTransformer parameterTransformer)
public ControllerRouteTokenTransformerConvention(Type controllerType, IOutboundParameterTransformer parameterTransformer)
{
if (parameterTransformer == null)
{
@ -30,7 +30,7 @@ namespace RoutingWebSite
{
foreach (var action in controller.Actions)
{
action.Properties[typeof(IParameterTransformer)] = _parameterTransformer;
action.Properties[typeof(IOutboundParameterTransformer)] = _parameterTransformer;
}
}
}

View File

@ -7,12 +7,12 @@ using Microsoft.AspNetCore.Routing;
namespace RoutingWebSite
{
public class SlugifyParameterTransformer : IParameterTransformer
public class SlugifyParameterTransformer : IOutboundParameterTransformer
{
public string Transform(string value)
public string TransformOutbound(object value)
{
// Slugify value
return Regex.Replace(value, "([a-z])([A-Z])", "$1-$2", RegexOptions.None, TimeSpan.FromMilliseconds(100)).ToLower();
return value == null ? null : Regex.Replace(value.ToString(), "([a-z])([A-Z])", "$1-$2", RegexOptions.None, TimeSpan.FromMilliseconds(100)).ToLower();
}
}
}