Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jetty-rewrite')
-rw-r--r--jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewriteHandler.java28
1 files changed, 26 insertions, 2 deletions
diff --git a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewriteHandler.java b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewriteHandler.java
index 005b24135d..fc0dfe0892 100644
--- a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewriteHandler.java
+++ b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewriteHandler.java
@@ -19,7 +19,10 @@
package org.eclipse.jetty.rewrite.handler;
import java.io.IOException;
+import java.util.Arrays;
+import java.util.EnumSet;
+import javax.servlet.DispatcherType;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -171,6 +174,7 @@ import org.eclipse.jetty.server.handler.HandlerWrapper;
public class RewriteHandler extends HandlerWrapper
{
private RuleContainer _rules;
+ private EnumSet<DispatcherType> _dispatchTypes = EnumSet.of(DispatcherType.REQUEST);
/* ------------------------------------------------------------ */
public RewriteHandler()
@@ -278,6 +282,23 @@ public class RewriteHandler extends HandlerWrapper
_rules.setOriginalPathAttribute(originalPathAttribute);
}
+ /* ------------------------------------------------------------ */
+ public EnumSet<DispatcherType> getDispatcherTypes()
+ {
+ return _dispatchTypes;
+ }
+
+ /* ------------------------------------------------------------ */
+ public void setDispatcherTypes(EnumSet<DispatcherType> types)
+ {
+ _dispatchTypes=EnumSet.copyOf(types);
+ }
+
+ /* ------------------------------------------------------------ */
+ public void setDispatcherTypes(DispatcherType... types)
+ {
+ _dispatchTypes=EnumSet.copyOf(Arrays.asList(types));
+ }
/* ------------------------------------------------------------ */
/* (non-Javadoc)
@@ -288,8 +309,11 @@ public class RewriteHandler extends HandlerWrapper
{
if (isStarted())
{
- String returned = _rules.matchAndApply(target, request, response);
- target = (returned == null) ? target : returned;
+ if (_dispatchTypes.contains(baseRequest.getDispatcherType()))
+ {
+ String returned = _rules.matchAndApply(target, request, response);
+ target = (returned == null) ? target : returned;
+ }
if (!baseRequest.isHandled())
super.handle(target, baseRequest, request, response);

Back to the top