diff --git a/src/Microsoft.AspNetCore.Rewrite/Rule.cs b/src/Microsoft.AspNetCore.Rewrite/IRule.cs
similarity index 65%
rename from src/Microsoft.AspNetCore.Rewrite/Rule.cs
rename to src/Microsoft.AspNetCore.Rewrite/IRule.cs
index b86d0e454d..60fcdb037a 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Rule.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/IRule.cs
@@ -4,17 +4,17 @@
namespace Microsoft.AspNetCore.Rewrite
{
///
- /// Represents an abstract rule.
+ /// Represents a rule.
///
- public abstract class Rule
+ public interface IRule
{
///
/// Applies the rule.
- /// Implementations of ApplyRule should set the value for
- /// (defaults to )
+ /// Implementations of ApplyRule should set the value for
+ /// (defaults to RuleResult.ContinueRules)
///
///
- public abstract void ApplyRule(RewriteContext context);
+ void ApplyRule(RewriteContext context);
}
}
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ApacheModRewriteRule.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ApacheModRewriteRule.cs
index 6fb201e12f..ffb907f304 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ApacheModRewriteRule.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/ApacheModRewriteRule.cs
@@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Rewrite.Logging;
namespace Microsoft.AspNetCore.Rewrite.Internal.ApacheModRewrite
{
- public class ApacheModRewriteRule : Rule
+ public class ApacheModRewriteRule : IRule
{
public UrlMatch InitialMatch { get; }
public IList Conditions { get; }
@@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.ApacheModRewrite
Actions = urlActions;
}
- public override void ApplyRule(RewriteContext context)
+ public virtual void ApplyRule(RewriteContext context)
{
// 1. Figure out which section of the string to match for the initial rule.
var initMatchRes = InitialMatch.Evaluate(context.HttpContext.Request.Path, context);
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/FileParser.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/FileParser.cs
index c2525f409f..d301a401a3 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/FileParser.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/FileParser.cs
@@ -9,10 +9,10 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.ApacheModRewrite
{
public class FileParser
{
- public IList Parse(TextReader input)
+ public IList Parse(TextReader input)
{
string line;
- var rules = new List();
+ var rules = new List();
var builder = new RuleBuilder();
var lineNum = 0;
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/RuleBuilder.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/RuleBuilder.cs
index bec58de1bc..e9bc6b36df 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/RuleBuilder.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/ApacheModRewrite/RuleBuilder.cs
@@ -210,7 +210,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.ApacheModRewrite
else
{
var last = flags.HasFlag(FlagType.End) || flags.HasFlag(FlagType.Last);
- var termination = last ? RuleTermination.StopRules : RuleTermination.Continue;
+ var termination = last ? RuleResult.SkipRemainingRules : RuleResult.ContinueRules;
_actions.Add(new RewriteAction(termination, pattern, queryStringAppend, queryStringDelete, escapeBackReference));
}
}
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/DelegateRule.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/DelegateRule.cs
index 60a670a7fc..ab8e75d1bf 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/DelegateRule.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/DelegateRule.cs
@@ -5,7 +5,7 @@ using System;
namespace Microsoft.AspNetCore.Rewrite.Internal
{
- public class DelegateRule : Rule
+ public class DelegateRule : IRule
{
private readonly Action _onApplyRule;
@@ -13,6 +13,6 @@ namespace Microsoft.AspNetCore.Rewrite.Internal
{
_onApplyRule = onApplyRule;
}
- public override void ApplyRule(RewriteContext context) => _onApplyRule(context);
+ public void ApplyRule(RewriteContext context) => _onApplyRule(context);
}
}
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/IISUrlRewriteRule.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/IISUrlRewriteRule.cs
index ba6b718cd3..3dc0bce3f4 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/IISUrlRewriteRule.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/IISUrlRewriteRule.cs
@@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Rewrite.Logging;
namespace Microsoft.AspNetCore.Rewrite.Internal.IISUrlRewrite
{
- public class IISUrlRewriteRule : Rule
+ public class IISUrlRewriteRule : IRule
{
public string Name { get; }
public UrlMatch InitialMatch { get; }
@@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.IISUrlRewrite
Action = action;
}
- public override void ApplyRule(RewriteContext context)
+ public virtual void ApplyRule(RewriteContext context)
{
// Due to the path string always having a leading slash,
// remove it from the path before regex comparison
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/InputParser.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/InputParser.cs
index e471248868..392680376f 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/InputParser.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/InputParser.cs
@@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.IISUrlRewrite
private const char CloseBrace = '}';
///
- /// Creates a pattern, which is a template to create a new test string to
+ /// Creates a pattern, which is a template to create a new test string to
/// compare to the condition. Can contain server variables, back references, etc.
///
///
@@ -64,7 +64,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.IISUrlRewrite
context.Mark();
// Four main cases:
// 1. {NAME} - Server Variable, create lambda to get the part of the context
- // 2. {R:1} - Rule parameter
+ // 2. {R:1} - IRule parameter
// 3. {C:1} - Condition Parameter
// 4. {function:xxx} - String function
// (unless we support Reload)
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteFileParser.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteFileParser.cs
index 3a2f603c07..a7f624f82f 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteFileParser.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteFileParser.cs
@@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.IISUrlRewrite
if (xmlRoot != null)
{
var result = new List();
- // TODO Global rules are currently not treated differently than normal rules, fix.
+ // TODO Global rules are currently not treated differently than normal rules, fix.
// See: https://github.com/aspnet/BasicMiddleware/issues/59
ParseRules(xmlRoot.Descendants(RewriteTags.GlobalRules).FirstOrDefault(), result);
ParseRules(xmlRoot.Descendants(RewriteTags.Rules).FirstOrDefault(), result);
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteRuleBuilder.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteRuleBuilder.cs
index b4bf4260c4..c4edf77cca 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteRuleBuilder.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/IISUrlRewrite/UrlRewriteRuleBuilder.cs
@@ -42,10 +42,10 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.IISUrlRewrite
switch (actionType)
{
case ActionType.None:
- _action = new VoidAction(stopProcessing ? RuleTermination.StopRules : RuleTermination.Continue);
+ _action = new VoidAction(stopProcessing ? RuleResult.SkipRemainingRules : RuleResult.ContinueRules);
break;
case ActionType.Rewrite:
- _action = new RewriteAction(stopProcessing ? RuleTermination.StopRules : RuleTermination.Continue,
+ _action = new RewriteAction(stopProcessing ? RuleResult.SkipRemainingRules : RuleResult.ContinueRules,
url, appendQueryString);
break;
case ActionType.Redirect:
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectRule.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectRule.cs
index 449ae293a4..2c9f471040 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectRule.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectRule.cs
@@ -8,7 +8,7 @@ using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.Rewrite.Internal
{
- public class RedirectRule : Rule
+ public class RedirectRule : IRule
{
private readonly TimeSpan _regexTimeout = TimeSpan.FromSeconds(1);
public Regex InitialMatch { get; }
@@ -31,7 +31,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal
StatusCode = statusCode;
}
- public override void ApplyRule(RewriteContext context)
+ public virtual void ApplyRule(RewriteContext context)
{
var path = context.HttpContext.Request.Path;
var pathBase = context.HttpContext.Request.PathBase;
@@ -52,7 +52,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal
var response = context.HttpContext.Response;
response.StatusCode = StatusCode;
- context.Result = RuleTermination.ResponseComplete;
+ context.Result = RuleResult.EndResponse;
if (string.IsNullOrEmpty(newPath))
{
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectToHttpsRule.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectToHttpsRule.cs
index 139b70d3e4..6127785b06 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectToHttpsRule.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/RedirectToHttpsRule.cs
@@ -6,12 +6,12 @@ using Microsoft.AspNetCore.Http;
namespace Microsoft.AspNetCore.Rewrite.Internal
{
- public class RedirectToHttpsRule : Rule
+ public class RedirectToHttpsRule : IRule
{
public int? SSLPort { get; set; }
public int StatusCode { get; set; }
- public override void ApplyRule(RewriteContext context)
+ public virtual void ApplyRule(RewriteContext context)
{
if (!context.HttpContext.Request.IsHttps)
{
@@ -31,7 +31,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal
var newUrl = new StringBuilder().Append("https://").Append(host).Append(req.PathBase).Append(req.Path).Append(req.QueryString);
context.HttpContext.Response.Redirect(newUrl.ToString());
- context.Result = RuleTermination.ResponseComplete;
+ context.Result = RuleResult.EndResponse;
}
}
}
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/RewriteRule.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/RewriteRule.cs
index 9bacf4963d..336c2ba87d 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/RewriteRule.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/RewriteRule.cs
@@ -8,7 +8,7 @@ using Microsoft.AspNetCore.Http.Extensions;
namespace Microsoft.AspNetCore.Rewrite.Internal
{
- public class RewriteRule : Rule
+ public class RewriteRule : IRule
{
private readonly TimeSpan _regexTimeout = TimeSpan.FromSeconds(1);
public Regex InitialMatch { get; }
@@ -31,7 +31,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal
StopProcessing = stopProcessing;
}
- public override void ApplyRule(RewriteContext context)
+ public virtual void ApplyRule(RewriteContext context)
{
var path = context.HttpContext.Request.Path;
Match initMatchResults;
@@ -51,7 +51,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal
if (StopProcessing)
{
- context.Result = RuleTermination.StopRules;
+ context.Result = RuleResult.SkipRemainingRules;
}
if (string.IsNullOrEmpty(result))
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/ForbiddenAction.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/ForbiddenAction.cs
index 08ad531d08..8e4058cc97 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/ForbiddenAction.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/ForbiddenAction.cs
@@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.UrlActions
public override void ApplyAction(RewriteContext context, MatchResults ruleMatch, MatchResults condMatch)
{
context.HttpContext.Response.StatusCode = StatusCodes.Status403Forbidden;
- context.Result = RuleTermination.ResponseComplete;
+ context.Result = RuleResult.EndResponse;
}
}
}
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/GoneAction.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/GoneAction.cs
index 4a753c61da..a1e7b964e6 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/GoneAction.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/GoneAction.cs
@@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.UrlActions
public override void ApplyAction(RewriteContext context, MatchResults ruleMatch, MatchResults condMatch)
{
context.HttpContext.Response.StatusCode = StatusCodes.Status410Gone;
- context.Result = RuleTermination.ResponseComplete;
+ context.Result = RuleResult.EndResponse;
}
}
}
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RedirectAction.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RedirectAction.cs
index 4d85531c87..9c917ed9a7 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RedirectAction.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RedirectAction.cs
@@ -91,7 +91,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.UrlActions
response.Headers[HeaderNames.Location] = pathBase + pattern + context.HttpContext.Request.QueryString;
}
}
- context.Result = RuleTermination.ResponseComplete;
+ context.Result = RuleResult.EndResponse;
}
}
}
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RewriteAction.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RewriteAction.cs
index 74264a9079..f6637747d5 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RewriteAction.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/RewriteAction.cs
@@ -9,13 +9,13 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.UrlActions
{
public class RewriteAction : UrlAction
{
- public RuleTermination Result { get; }
+ public RuleResult Result { get; }
public bool QueryStringAppend { get; }
public bool QueryStringDelete { get; }
public bool EscapeBackReferences { get; }
public RewriteAction(
- RuleTermination result,
+ RuleResult result,
Pattern pattern,
bool queryStringAppend,
bool queryStringDelete,
@@ -31,7 +31,7 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.UrlActions
}
public RewriteAction(
- RuleTermination result,
+ RuleResult result,
Pattern pattern,
bool queryStringAppend) :
this(result,
diff --git a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/VoidAction.cs b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/VoidAction.cs
index 4ac2a08144..6023b23a7a 100644
--- a/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/VoidAction.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/Internal/UrlActions/VoidAction.cs
@@ -5,9 +5,9 @@ namespace Microsoft.AspNetCore.Rewrite.Internal.UrlActions
{
public class VoidAction : UrlAction
{
- public RuleTermination Result { get; }
+ public RuleResult Result { get; }
- public VoidAction(RuleTermination result)
+ public VoidAction(RuleResult result)
{
Result = result;
}
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteBuilderExtensions.cs b/src/Microsoft.AspNetCore.Rewrite/RewriteBuilderExtensions.cs
index 724dccf3d1..0d577c3fd0 100644
--- a/src/Microsoft.AspNetCore.Rewrite/RewriteBuilderExtensions.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/RewriteBuilderExtensions.cs
@@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Rewrite;
namespace Microsoft.AspNetCore.Builder
{
///
- /// Extension methods for the
+ /// Extension methods for the
///
public static class RewriteBuilderExtensions
{
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteContext.cs b/src/Microsoft.AspNetCore.Rewrite/RewriteContext.cs
index d7dec645f7..061c45a18f 100644
--- a/src/Microsoft.AspNetCore.Rewrite/RewriteContext.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/RewriteContext.cs
@@ -24,17 +24,16 @@ namespace Microsoft.AspNetCore.Rewrite
public IFileProvider StaticFileProvider { get; set; }
///
- /// Gets and sets the logger
+ /// Gets and sets the logger
///
public ILogger Logger { get; set; }
///
/// A shared result that is set appropriately by each rule for the next action that
- /// should be take. See
+ /// should be taken. See
///
- public RuleTermination Result { get; set; }
+ public RuleResult Result { get; set; }
- // PERF: share the same string builder per request
internal StringBuilder Builder { get; set; } = new StringBuilder(64);
}
}
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteMiddleware.cs b/src/Microsoft.AspNetCore.Rewrite/RewriteMiddleware.cs
index 9f3802d395..58cd935690 100644
--- a/src/Microsoft.AspNetCore.Rewrite/RewriteMiddleware.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/RewriteMiddleware.cs
@@ -69,7 +69,7 @@ namespace Microsoft.AspNetCore.Rewrite
HttpContext = context,
StaticFileProvider = _fileProvider,
Logger = _logger,
- Result = RuleTermination.Continue
+ Result = RuleResult.ContinueRules
};
foreach (var rule in _options.Rules)
@@ -77,15 +77,15 @@ namespace Microsoft.AspNetCore.Rewrite
rule.ApplyRule(rewriteContext);
switch (rewriteContext.Result)
{
- case RuleTermination.Continue:
+ case RuleResult.ContinueRules:
_logger.RewriteMiddlewareRequestContinueResults();
break;
- case RuleTermination.ResponseComplete:
+ case RuleResult.EndResponse:
_logger.RewriteMiddlewareRequestResponseComplete(
context.Response.Headers[HeaderNames.Location],
context.Response.StatusCode);
return TaskCache.CompletedTask;
- case RuleTermination.StopRules:
+ case RuleResult.SkipRemainingRules:
_logger.RewriteMiddlewareRequestStopRules();
return _next(context);
default:
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteOptions.cs b/src/Microsoft.AspNetCore.Rewrite/RewriteOptions.cs
index 8e51c78071..cbff5975fd 100644
--- a/src/Microsoft.AspNetCore.Rewrite/RewriteOptions.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/RewriteOptions.cs
@@ -8,14 +8,14 @@ using Microsoft.AspNetCore.Hosting;
namespace Microsoft.AspNetCore.Rewrite
{
///
- /// Options for the
+ /// Options for the
///
public class RewriteOptions
{
///
- /// A list of that will be applied in order upon a request.
+ /// A list of that will be applied in order upon a request.
///
- public IList Rules { get; } = new List();
+ public IList Rules { get; } = new List();
///
/// Gets and sets the File Provider for file and directory checks. Defaults to
diff --git a/src/Microsoft.AspNetCore.Rewrite/RewriteOptionsExtensions.cs b/src/Microsoft.AspNetCore.Rewrite/RewriteOptionsExtensions.cs
index 5b9eec9e88..b1b4057cd4 100644
--- a/src/Microsoft.AspNetCore.Rewrite/RewriteOptionsExtensions.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/RewriteOptionsExtensions.cs
@@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Rewrite
/// The .
/// A rule to be added to the current rules.
/// The Rewrite options.
- public static RewriteOptions Add(this RewriteOptions options, Rule rule)
+ public static RewriteOptions Add(this RewriteOptions options, IRule rule)
{
options.Rules.Add(rule);
return options;
@@ -44,7 +44,7 @@ namespace Microsoft.AspNetCore.Rewrite
/// The Rewrite options.
public static RewriteOptions AddRewrite(this RewriteOptions options, string regex, string replacement)
{
- return AddRewrite(options, regex, replacement, stopProcessing: false);
+ return AddRewrite(options, regex, replacement, skipRemainingRules: false);
}
///
@@ -53,11 +53,11 @@ namespace Microsoft.AspNetCore.Rewrite
/// The .
/// The regex string to compare with.
/// If the regex matches, what to replace the uri with.
- /// If the regex matches, conditionally stop processing other rules.
+ /// If the regex matches, conditionally stop processing other rules.
/// The Rewrite options.
- public static RewriteOptions AddRewrite(this RewriteOptions options, string regex, string replacement, bool stopProcessing)
+ public static RewriteOptions AddRewrite(this RewriteOptions options, string regex, string replacement, bool skipRemainingRules)
{
- options.Rules.Add(new RewriteRule(regex, replacement, stopProcessing));
+ options.Rules.Add(new RewriteRule(regex, replacement, skipRemainingRules));
return options;
}
diff --git a/src/Microsoft.AspNetCore.Rewrite/RuleTermination.cs b/src/Microsoft.AspNetCore.Rewrite/RuleResult.cs
similarity index 74%
rename from src/Microsoft.AspNetCore.Rewrite/RuleTermination.cs
rename to src/Microsoft.AspNetCore.Rewrite/RuleResult.cs
index 70f5c9f39f..9e62b0511b 100644
--- a/src/Microsoft.AspNetCore.Rewrite/RuleTermination.cs
+++ b/src/Microsoft.AspNetCore.Rewrite/RuleResult.cs
@@ -6,19 +6,19 @@ namespace Microsoft.AspNetCore.Rewrite
///
/// An enum representing the result of a rule.
///
- public enum RuleTermination
+ public enum RuleResult
{
///
/// Default value, continue applying rules.
///
- Continue,
+ ContinueRules,
///
- /// Redirect occured, should send back new rewritten url.
- ///
- ResponseComplete,
+ /// The rule ended the request by providing a response.
+ ///
+ EndResponse,
///
/// Stop applying rules and send context to the next middleware
///
- StopRules
+ SkipRemainingRules
}
}
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/FileParserTests.cs b/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/FileParserTests.cs
index afa76bb395..b891b3a2c5 100644
--- a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/FileParserTests.cs
+++ b/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/FileParserTests.cs
@@ -147,7 +147,7 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.UrlRewrite
)
{
return new IISUrlRewriteRule(name, new RegexMatch(new Regex("^OFF$"), false), conditions,
- new RewriteAction(RuleTermination.Continue, new InputParser().ParseInputString(url), queryStringAppend: false));
+ new RewriteAction(RuleResult.ContinueRules, new InputParser().ParseInputString(url), queryStringAppend: false));
}
// TODO make rules comparable?
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/UrlRewriteApplicationTests.cs b/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/UrlRewriteApplicationTests.cs
index bbb04f1f7e..83958e6c99 100644
--- a/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/UrlRewriteApplicationTests.cs
+++ b/test/Microsoft.AspNetCore.Rewrite.Tests/IISUrlRewrite/UrlRewriteApplicationTests.cs
@@ -9,7 +9,7 @@ using Xunit;
namespace Microsoft.AspNetCore.Rewrite.Tests.UrlRewrite
{
- // TODO add more of these
+ // TODO add more of these
public class UrlRewriteApplicationTests
{
[Fact]
@@ -17,10 +17,10 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.UrlRewrite
{
var xml = new StringReader(@"
-
+
-
+
");
var rules = new UrlRewriteFileParser().Parse(xml);
@@ -28,7 +28,7 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.UrlRewrite
Assert.Equal(rules.Count, 1);
var context = new RewriteContext { HttpContext = new DefaultHttpContext() };
rules.FirstOrDefault().ApplyRule(context);
- Assert.Equal(context.Result, RuleTermination.StopRules);
+ Assert.Equal(context.Result, RuleResult.SkipRemainingRules);
}
[Fact]
@@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.UrlRewrite
-
+
");
var rules = new UrlRewriteFileParser().Parse(xml);
@@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.UrlRewrite
Assert.Equal(rules.Count, 1);
var context = new RewriteContext { HttpContext = new DefaultHttpContext() };
rules.FirstOrDefault().ApplyRule(context);
- Assert.Equal(context.Result, RuleTermination.Continue);
+ Assert.Equal(context.Result, RuleResult.ContinueRules);
}
}
}
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/ForbiddenActionTests.cs b/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/ForbiddenActionTests.cs
index fa668e29d6..fa141844cc 100644
--- a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/ForbiddenActionTests.cs
+++ b/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/ForbiddenActionTests.cs
@@ -20,7 +20,7 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.UrlActions
action.ApplyAction(context, null, null);
// Assert
- Assert.Equal(context.Result, RuleTermination.ResponseComplete);
+ Assert.Equal(context.Result, RuleResult.EndResponse);
Assert.Equal(context.HttpContext.Response.StatusCode, StatusCodes.Status403Forbidden);
}
}
diff --git a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/GoneActionTests.cs b/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/GoneActionTests.cs
index ed061dd929..e72c6c67ce 100644
--- a/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/GoneActionTests.cs
+++ b/test/Microsoft.AspNetCore.Rewrite.Tests/UrlActions/GoneActionTests.cs
@@ -20,7 +20,7 @@ namespace Microsoft.AspNetCore.Rewrite.Tests.UrlActions
action.ApplyAction(context, null, null);
// Assert
- Assert.Equal(context.Result, RuleTermination.ResponseComplete);
+ Assert.Equal(context.Result, RuleResult.EndResponse);
Assert.Equal(context.HttpContext.Response.StatusCode, StatusCodes.Status410Gone);
}
}