Issue #3708 - Reverting change to RewriteRegexRule

+ Moving away from Regex / Pattern isn't appropriate here,
  as the entire class is dedicated to Regex behaviors.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
This commit is contained in:
Joakim Erdfelt 2019-06-11 13:02:40 -05:00
parent 33fe55c339
commit 2453882103

View File

@ -24,7 +24,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.util.StringUtil;
import org.eclipse.jetty.util.annotation.Name; import org.eclipse.jetty.util.annotation.Name;
/** /**
@ -96,22 +95,15 @@ public class RewriteRegexRule extends RegexRule implements Rule.ApplyURI
group=""; group="";
else else
group = Matcher.quoteReplacement(group); group = Matcher.quoteReplacement(group);
String dollarGroup = "$" + g; target=target.replaceAll("\\$"+g,group);
target = StringUtil.replace(target, dollarGroup, group); if (query!=null)
if (query != null) query=query.replaceAll("\\$"+g,group);
query = StringUtil.replace(query, dollarGroup, group);
} }
if (query!=null) if (query!=null)
{ {
if (_queryGroup) if (_queryGroup)
{ query=query.replace("$Q",request.getQueryString()==null?"":request.getQueryString());
String replacement = "";
if (request.getQueryString() != null)
replacement = request.getQueryString();
query = StringUtil.replace(query, "$Q", replacement);
}
request.setAttribute("org.eclipse.jetty.rewrite.handler.RewriteRegexRule.Q",query); request.setAttribute("org.eclipse.jetty.rewrite.handler.RewriteRegexRule.Q",query);
} }