diff --git a/Directory.Build.props b/Directory.Build.props
index 065616f3cd..6c951ddaca 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -14,9 +14,6 @@
$(MSBuildThisFileDirectory)
$(MSBuildThisFileDirectory)build\Key.snk
true
- Microsoft
- MicrosoftNuGet
- true
true
true
diff --git a/src/Microsoft.AspNetCore.Mvc.Analyzers/Microsoft.AspNetCore.Mvc.Analyzers.csproj b/src/Microsoft.AspNetCore.Mvc.Analyzers/Microsoft.AspNetCore.Mvc.Analyzers.csproj
index bfaa4f6135..3030951867 100644
--- a/src/Microsoft.AspNetCore.Mvc.Analyzers/Microsoft.AspNetCore.Mvc.Analyzers.csproj
+++ b/src/Microsoft.AspNetCore.Mvc.Analyzers/Microsoft.AspNetCore.Mvc.Analyzers.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/src/Microsoft.AspNetCore.Mvc.Api.Analyzers/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj b/src/Microsoft.AspNetCore.Mvc.Api.Analyzers/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
index a4c48adc4b..50b645a854 100644
--- a/src/Microsoft.AspNetCore.Mvc.Api.Analyzers/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
+++ b/src/Microsoft.AspNetCore.Mvc.Api.Analyzers/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
@@ -20,7 +20,7 @@
-
+
diff --git a/src/Microsoft.AspNetCore.Mvc.Core/Infrastructure/ClientErrorResultFilter.cs b/src/Microsoft.AspNetCore.Mvc.Core/Infrastructure/ClientErrorResultFilter.cs
index fd5911ea07..1ef66b1a33 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/Infrastructure/ClientErrorResultFilter.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Core/Infrastructure/ClientErrorResultFilter.cs
@@ -43,6 +43,13 @@ namespace Microsoft.AspNetCore.Mvc.Infrastructure
return;
}
+ // We do not have an upper bound on the allowed status code. This allows this filter to be used
+ // for 5xx and later status codes.
+ if (clientError.StatusCode < 400)
+ {
+ return;
+ }
+
var result = _clientErrorFactory.GetClientError(context, clientError);
if (result == null)
{
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor/Microsoft.AspNetCore.Mvc.Razor.csproj b/src/Microsoft.AspNetCore.Mvc.Razor/Microsoft.AspNetCore.Mvc.Razor.csproj
index decdf16adf..b63e6156e9 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor/Microsoft.AspNetCore.Mvc.Razor.csproj
+++ b/src/Microsoft.AspNetCore.Mvc.Razor/Microsoft.AspNetCore.Mvc.Razor.csproj
@@ -22,7 +22,7 @@
-
+
diff --git a/test/Microsoft.AspNetCore.Mvc.Core.Test/Infrastructure/ClientErrorResultFilterTest.cs b/test/Microsoft.AspNetCore.Mvc.Core.Test/Infrastructure/ClientErrorResultFilterTest.cs
index 83098744ff..0a2c6db76d 100644
--- a/test/Microsoft.AspNetCore.Mvc.Core.Test/Infrastructure/ClientErrorResultFilterTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Core.Test/Infrastructure/ClientErrorResultFilterTest.cs
@@ -68,6 +68,42 @@ namespace Microsoft.AspNetCore.Mvc.Infrastructure
Assert.Same(Result, context.Result);
}
+ [Theory]
+ [InlineData(400)]
+ [InlineData(409)]
+ [InlineData(503)]
+ public void OnResultExecuting_Transforms4XXStatusCodeResult(int statusCode)
+ {
+ // Arrange
+ var actionResult = new StatusCodeResult(statusCode);
+ var context = GetContext(actionResult);
+ var filter = GetFilter();
+
+ // Act
+ filter.OnResultExecuting(context);
+
+ // Assert
+ Assert.Same(Result, context.Result);
+ }
+
+ [Theory]
+ [InlineData(201)]
+ [InlineData(302)]
+ [InlineData(399)]
+ public void OnResultExecuting_DoesNotTransformStatusCodesLessThan400(int statusCode)
+ {
+ // Arrange
+ var actionResult = new StatusCodeResult(statusCode);
+ var context = GetContext(actionResult);
+ var filter = GetFilter();
+
+ // Act
+ filter.OnResultExecuting(context);
+
+ // Assert
+ Assert.Same(actionResult, context.Result);
+ }
+
private static ClientErrorResultFilter GetFilter()
{
var factory = Mock.Of(