diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/RedirectType.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/RedirectType.cs
index 2221d5412b..012cc77ded 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/RedirectType.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/RedirectType.cs
@@ -1,13 +1,15 @@
// 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 Microsoft.AspNetCore.Http;
+
namespace Microsoft.AspNetCore.Rewrite.Internal.IISUrlRewrite
{
public enum RedirectType
{
- Permanent = 301,
- Found = 302,
- SeeOther = 303,
- Temporary = 307
+ Permanent = StatusCodes.Status301MovedPermanently,
+ Found = StatusCodes.Status302Found,
+ SeeOther = StatusCodes.Status303SeeOther,
+ Temporary = StatusCodes.Status307TemporaryRedirect
}
}
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RedirectAction.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RedirectAction.cs
index 9c917ed9a7..06eba46b04 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RedirectAction.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RedirectAction.cs
@@ -75,7 +75,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.UrlActions
QueryString.FromUriComponent(
pattern.Substring(split)));
- // not using the response.redirect here because status codes may be 301, 302, 307, 308
+ // not using the response.redirect here because status codes may be 301, 302, 307, 308
response.Headers[HeaderNames.Location] = pathBase + pattern.Substring(0, split) + query;
}
else
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteOptionsExtensions.cs b/src/Microsoft.AspNetCore.Rewrite/RewriteOptionsExtensions.cs
index 550d6e8211..c1aa2b69ed 100644
--- a/src/Microsoft.AspNetCore.Rewrite/RewriteOptionsExtensions.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/RewriteOptionsExtensions.cs
@@ -2,6 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
+using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Rewrite.Internal;
namespace Microsoft.AspNetCore.Rewrite
@@ -58,7 +59,7 @@ namespace Microsoft.AspNetCore.Rewrite
/// The Rewrite options.
public static RewriteOptions AddRedirect(this RewriteOptions options, string regex, string replacement)
{
- return AddRedirect(options, regex, replacement, statusCode: 302);
+ return AddRedirect(options, regex, replacement, statusCode: StatusCodes.Status302Found);
}
///
@@ -83,7 +84,7 @@ namespace Microsoft.AspNetCore.Rewrite
///
public static RewriteOptions AddRedirectToHttpsPermanent(this RewriteOptions options)
{
- return AddRedirectToHttps(options, statusCode: 301, sslPort: null);
+ return AddRedirectToHttps(options, statusCode: StatusCodes.Status301MovedPermanently, sslPort: null);
}
///
@@ -92,7 +93,7 @@ namespace Microsoft.AspNetCore.Rewrite
/// The .
public static RewriteOptions AddRedirectToHttps(this RewriteOptions options)
{
- return AddRedirectToHttps(options, statusCode: 302, sslPort: null);
+ return AddRedirectToHttps(options, statusCode: StatusCodes.Status302Found, sslPort: null);
}
///
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/ModRewriteMiddlewareTest.cs b/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/ModRewriteMiddlewareTest.cs
index bf0669ce26..3b1d962751 100644
--- a/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/ModRewriteMiddlewareTest.cs
+++ b/test/Microsoft.AspNetCore.Rewrite.Tests/ApacheModRewrite/ModRewriteMiddlewareTest.cs
@@ -247,7 +247,7 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.ModRewrite
var response = await server.CreateClient().GetAsync(input);
Assert.Equal(response.StatusCode, (HttpStatusCode)301);
- Assert.Equal(response.Headers.Location.AbsoluteUri, @"https://www.example.com/foo/");
+ Assert.Equal(@"https://www.example.com/foo/", response.Headers.Location.AbsoluteUri);
}
[Theory]
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/MiddlewareTests.cs b/test/Microsoft.AspNetCore.Rewrite.Tests/MiddlewareTests.cs
index ce041ff52c..43853ddfe5 100644
--- a/test/Microsoft.AspNetCore.Rewrite.Tests/MiddlewareTests.cs
+++ b/test/Microsoft.AspNetCore.Rewrite.Tests/MiddlewareTests.cs
@@ -38,7 +38,7 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.CodeRules
[Fact]
public async Task CheckRedirectPath()
{
- var options = new RewriteOptions().AddRedirect("(.*)","http://example.com/$1", statusCode: 301);
+ var options = new RewriteOptions().AddRedirect("(.*)","http://example.com/$1", statusCode: StatusCodes.Status301MovedPermanently);
var builder = new WebHostBuilder()
.Configure(app =>
{
@@ -54,7 +54,7 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.CodeRules
[Fact]
public async Task CheckRedirectToHttps()
{
- var options = new RewriteOptions().AddRedirectToHttps(statusCode: 301);
+ var options = new RewriteOptions().AddRedirectToHttps(statusCode: StatusCodes.Status301MovedPermanently);
var builder = new WebHostBuilder()
.Configure(app =>
{
@@ -71,7 +71,7 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.CodeRules
[Fact]
public async Task CheckIfEmptyStringRedirectCorrectly()
{
- var options = new RewriteOptions().AddRedirect("(.*)", "$1", statusCode: 301);
+ var options = new RewriteOptions().AddRedirect("(.*)", "$1", statusCode: StatusCodes.Status301MovedPermanently);
var builder = new WebHostBuilder()
.Configure(app =>
{