diff options
Diffstat (limited to 'jetty-rewrite')
15 files changed, 55 insertions, 319 deletions
diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml index 9414e29a7a..97e1c61d8f 100644 --- a/jetty-rewrite/pom.xml +++ b/jetty-rewrite/pom.xml @@ -2,7 +2,7 @@ <parent> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-project</artifactId> - <version>9.2.10-SNAPSHOT</version> + <version>9.3.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>jetty-rewrite</artifactId> @@ -15,52 +15,6 @@ <build> <plugins> <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> - <executions> - <execution> - <goals> - <goal>manifest</goal> - </goals> - <configuration> - <instructions> - <Import-Package>javax.servlet.*;version="[2.6.0,3.2)",*</Import-Package> - </instructions> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <!-- - Required for OSGI - --> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptorRefs> - <descriptorRef>config</descriptorRef> - </descriptorRefs> - </configuration> - </execution> - </executions> - </plugin> - <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <configuration> diff --git a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/CompactPathRule.java b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/CompactPathRule.java index 7ac30698c4..57edfdf090 100644 --- a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/CompactPathRule.java +++ b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/CompactPathRule.java @@ -43,7 +43,7 @@ public class CompactPathRule extends Rule implements Rule.ApplyURI String uri = request.getRequestURI(); if (uri.startsWith("/")) uri = URIUtil.compactPath(uri); - request.setRequestURI(uri); + request.setURIPathQuery(uri); } @Override diff --git a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/LegacyRule.java b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/LegacyRule.java deleted file mode 100644 index 48396d4113..0000000000 --- a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/LegacyRule.java +++ /dev/null @@ -1,100 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.rewrite.handler; - -import java.io.IOException; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.eclipse.jetty.http.PathMap; -import org.eclipse.jetty.util.URIUtil; - -/** - * Rule implementing the legacy API of RewriteHandler - * - * - */ -public class LegacyRule extends Rule -{ - private PathMap _rewrite = new PathMap(true); - - public LegacyRule() - { - _handling = false; - _terminating = false; - } - - /* ------------------------------------------------------------ */ - @Override - public String matchAndApply(String target, HttpServletRequest request, HttpServletResponse response) throws IOException - { - Map.Entry<?,?> rewrite =_rewrite.getMatch(target); - - if (rewrite!=null && rewrite.getValue()!=null) - { - target=URIUtil.addPaths(rewrite.getValue().toString(), - PathMap.pathInfo(rewrite.getKey().toString(),target)); - - return target; - } - - return null; - } - - /* ------------------------------------------------------------ */ - /** - * Returns the map of rewriting rules. - * @return A {@link PathMap} of the rewriting rules. - */ - public PathMap getRewrite() - { - return _rewrite; - } - - /* ------------------------------------------------------------ */ - /** - * Sets the map of rewriting rules. - * @param rewrite A {@link PathMap} of the rewriting rules. Only - * prefix paths should be included. - */ - public void setRewrite(PathMap rewrite) - { - _rewrite=rewrite; - } - - - /* ------------------------------------------------------------ */ - /** Add a path rewriting rule - * @param pattern The path pattern to match. The pattern must start with / and may use - * a trailing /* as a wildcard. - * @param prefix The path prefix which will replace the matching part of the path. - */ - public void addRewriteRule(String pattern, String prefix) - { - if (pattern==null || pattern.length()==0 || !pattern.startsWith("/")) - throw new IllegalArgumentException(); - if (_rewrite==null) - _rewrite=new PathMap(true); - _rewrite.put(pattern,prefix); - } - - -} 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 495aea7303..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 @@ -184,19 +184,6 @@ public class RewriteHandler extends HandlerWrapper /* ------------------------------------------------------------ */ /** - * To enable configuration from jetty.xml on rewriteRequestURI, rewritePathInfo and - * originalPathAttribute - * - * @param legacyRule old style rewrite rule - */ - @Deprecated - public void setLegacyRule(LegacyRule legacyRule) - { - _rules.setLegacyRule(legacyRule); - } - - /* ------------------------------------------------------------ */ - /** * Returns the list of rules. * @return an array of {@link Rule}. */ diff --git a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewritePatternRule.java b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewritePatternRule.java index 80d6186ea1..e8712c41fe 100644 --- a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewritePatternRule.java +++ b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewritePatternRule.java @@ -88,7 +88,7 @@ public class RewritePatternRule extends PatternRule implements Rule.ApplyURI { if (_query == null) { - request.setRequestURI(newURI); + request.setURIPathQuery(newURI); } else { @@ -97,9 +97,7 @@ public class RewritePatternRule extends PatternRule implements Rule.ApplyURI queryString = queryString + "&" + _query; else queryString = _query; - HttpURI uri = new HttpURI(newURI + "?" + queryString); - request.setUri(uri); - request.setRequestURI(newURI); + request.setURIPathQuery(newURI); request.setQueryString(queryString); } } diff --git a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewriteRegexRule.java b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewriteRegexRule.java index 30296bd610..2d0ff55132 100644 --- a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewriteRegexRule.java +++ b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewriteRegexRule.java @@ -100,7 +100,7 @@ public class RewriteRegexRule extends RegexRule implements Rule.ApplyURI { if (_query==null) { - request.setRequestURI(newURI); + request.setURIPathQuery(newURI); } else { @@ -108,9 +108,7 @@ public class RewriteRegexRule extends RegexRule implements Rule.ApplyURI if (!_queryGroup && request.getQueryString()!=null) query=request.getQueryString()+"&"+query; - HttpURI uri=new HttpURI(newURI+"?"+query); - request.setUri(uri); - request.setRequestURI(newURI); + request.setURIPathQuery(newURI); request.setQueryString(query); } } diff --git a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RuleContainer.java b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RuleContainer.java index 677a440c62..07ad98935f 100644 --- a/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RuleContainer.java +++ b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RuleContainer.java @@ -46,35 +46,7 @@ public class RuleContainer extends Rule protected String _originalPathAttribute; protected boolean _rewriteRequestURI=true; protected boolean _rewritePathInfo=true; - - protected LegacyRule _legacy; - - /* ------------------------------------------------------------ */ - @Deprecated - public LegacyRule getLegacyRule() - { - if (_legacy==null) - { - _legacy= new LegacyRule(); - addRule(_legacy); - } - return _legacy; - } - - - /* ------------------------------------------------------------ */ - /** - * To enable configuration from jetty.xml on rewriteRequestURI, rewritePathInfo and - * originalPathAttribute - * - * @param legacyRule old style rewrite rule - */ - @Deprecated - public void setLegacyRule(LegacyRule legacyRule) - { - _legacy = legacyRule; - } - + /* ------------------------------------------------------------ */ /** * Returns the list of rules. @@ -92,16 +64,7 @@ public class RuleContainer extends Rule */ public void setRules(Rule[] rules) { - if (_legacy==null) - _rules = rules; - else - { - _rules=null; - addRule(_legacy); - if (rules!=null) - for (Rule rule:rules) - addRule(rule); - } + _rules = rules; } /* ------------------------------------------------------------ */ @@ -216,7 +179,7 @@ public class RuleContainer extends Rule if (rule instanceof Rule.ApplyURI) ((Rule.ApplyURI)rule).applyURI((Request)request,((Request)request).getRequestURI(), encoded); else - ((Request)request).setRequestURI(encoded); + ((Request)request).setURIPathQuery(encoded); } if (_rewritePathInfo) @@ -227,7 +190,7 @@ public class RuleContainer extends Rule if (rule.isHandling()) { LOG.debug("handling {}",rule); - (request instanceof Request?(Request)request:HttpChannel.getCurrentHttpChannel().getRequest()).setHandled(true); + Request.getBaseRequest(request).setHandled(true); } if (rule.isTerminating()) diff --git a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/ForwardedSchemeHeaderRuleTest.java b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/ForwardedSchemeHeaderRuleTest.java index b892ff5e99..ec1d67be75 100644 --- a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/ForwardedSchemeHeaderRuleTest.java +++ b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/ForwardedSchemeHeaderRuleTest.java @@ -73,11 +73,11 @@ public class ForwardedSchemeHeaderRuleTest extends AbstractRuleTestCase _rule.matchAndApply("/",_request,_response); assertEquals("https",_request.getScheme()); - _request.setScheme(null); + _request.setScheme("other"); // header value doesn't match rule's value setRequestHeader("Front-End-Https", "off"); _rule.matchAndApply("/",_request,_response); - assertEquals(null,_request.getScheme()); + assertEquals("other",_request.getScheme()); _request.setScheme(null); // header value can be any value diff --git a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/LegacyRuleTest.java b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/LegacyRuleTest.java deleted file mode 100644 index 9cff2d94a4..0000000000 --- a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/LegacyRuleTest.java +++ /dev/null @@ -1,66 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.rewrite.handler; - -import static org.junit.Assert.assertEquals; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -public class LegacyRuleTest extends AbstractRuleTestCase -{ - private String[][] _tests= - { - {"/foo/bar","/*","/replace/foo/bar"}, - {"/foo/bar","/foo/*","/replace/bar"}, - {"/foo/bar","/foo/bar","/replace"} - }; - private LegacyRule _rule; - - @Before - public void init() throws Exception - { - start(false); - _rule = new LegacyRule(); - } - - @After - public void destroy() - { - _rule = null; - } - - @Test - public void testMatchAndApply() throws Exception - { - for (String[] _test : _tests) - { - _rule.addRewriteRule(_test[1], "/replace"); - String result = _rule.matchAndApply(_test[0], _request, _response); - assertEquals(_test[1], _test[2], result); - } - } - - @Test(expected = IllegalArgumentException.class) - public void testAddRewrite() - { - _rule.addRewriteRule("*.txt", "/replace"); - } -} diff --git a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/PatternRuleTest.java b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/PatternRuleTest.java index 533f42950b..76baaa49c4 100644 --- a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/PatternRuleTest.java +++ b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/PatternRuleTest.java @@ -25,6 +25,10 @@ import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.http.HttpFields; +import org.eclipse.jetty.http.HttpURI; +import org.eclipse.jetty.http.HttpVersion; +import org.eclipse.jetty.http.MetaData; import org.eclipse.jetty.server.Request; import org.junit.After; import org.junit.Before; @@ -138,7 +142,7 @@ public class PatternRuleTest new Request(null,null) { { - setRequestURI(uri); + setMetaData(new MetaData.Request("GET",new HttpURI(uri),HttpVersion.HTTP_1_0,new HttpFields())); } }, null ); diff --git a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewriteHandlerTest.java b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewriteHandlerTest.java index 684e4d93bb..b6af67adcc 100644 --- a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewriteHandlerTest.java +++ b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewriteHandlerTest.java @@ -85,7 +85,7 @@ public class RewriteHandlerTest extends AbstractRuleTestCase _handler.setOriginalPathAttribute("/before"); _handler.setRewriteRequestURI(true); _handler.setRewritePathInfo(true); - _request.setRequestURI("/xxx/bar"); + _request.setURIPathQuery("/xxx/bar"); _request.setPathInfo("/xxx/bar"); _handler.handle("/xxx/bar",_request,_request, _response); assertEquals(201,_response.getStatus()); @@ -99,7 +99,7 @@ public class RewriteHandlerTest extends AbstractRuleTestCase _handler.setOriginalPathAttribute("/before"); _handler.setRewriteRequestURI(false); _handler.setRewritePathInfo(false); - _request.setRequestURI("/foo/bar"); + _request.setURIPathQuery("/foo/bar"); _request.setPathInfo("/foo/bar"); _handler.handle("/foo/bar",_request,_request, _response); @@ -112,7 +112,7 @@ public class RewriteHandlerTest extends AbstractRuleTestCase _response.setStatus(200); _request.setHandled(false); _handler.setOriginalPathAttribute(null); - _request.setRequestURI("/aaa/bar"); + _request.setURIPathQuery("/aaa/bar"); _request.setPathInfo("/aaa/bar"); _handler.handle("/aaa/bar",_request,_request, _response); assertEquals(201,_response.getStatus()); @@ -126,7 +126,7 @@ public class RewriteHandlerTest extends AbstractRuleTestCase _handler.setOriginalPathAttribute("before"); _handler.setRewriteRequestURI(true); _handler.setRewritePathInfo(true); - _request.setRequestURI("/aaa/bar"); + _request.setURIPathQuery("/aaa/bar"); _request.setPathInfo("/aaa/bar"); _handler.handle("/aaa/bar",_request,_request, _response); assertEquals(201,_response.getStatus()); @@ -138,7 +138,7 @@ public class RewriteHandlerTest extends AbstractRuleTestCase _response.setStatus(200); _request.setHandled(false); _rule2.setTerminating(true); - _request.setRequestURI("/aaa/bar"); + _request.setURIPathQuery("/aaa/bar"); _request.setPathInfo("/aaa/bar"); _handler.handle("/aaa/bar",_request,_request, _response); assertEquals(201,_response.getStatus()); @@ -154,7 +154,7 @@ public class RewriteHandlerTest extends AbstractRuleTestCase _request.setAttribute("target",null); _request.setAttribute("URI",null); _request.setAttribute("info",null); - _request.setRequestURI("/aaa/bar"); + _request.setURIPathQuery("/aaa/bar"); _request.setPathInfo("/aaa/bar"); _handler.handle("/aaa/bar",_request,_request, _response); assertEquals(200,_response.getStatus()); @@ -174,7 +174,7 @@ public class RewriteHandlerTest extends AbstractRuleTestCase _handler.setOriginalPathAttribute("/before"); _handler.setRewriteRequestURI(true); _handler.setRewritePathInfo(false); - _request.setRequestURI("/ccc/x%20y"); + _request.setURIPathQuery("/ccc/x%20y"); _request.setPathInfo("/ccc/x y"); _handler.handle("/ccc/x y",_request,_request, _response); assertEquals(201,_response.getStatus()); @@ -193,7 +193,7 @@ public class RewriteHandlerTest extends AbstractRuleTestCase _handler.setOriginalPathAttribute("/before"); _handler.setRewriteRequestURI(true); _handler.setRewritePathInfo(false); - _request.setRequestURI("/xxx/x%20y"); + _request.setURIPathQuery("/xxx/x%20y"); _request.setPathInfo("/xxx/x y"); _handler.handle("/xxx/x y",_request,_request, _response); assertEquals(201,_response.getStatus()); diff --git a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewritePatternRuleTest.java b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewritePatternRuleTest.java index b246e6d03a..6fb2738d74 100644 --- a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewritePatternRuleTest.java +++ b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewritePatternRuleTest.java @@ -88,7 +88,7 @@ public class RewritePatternRuleTest extends AbstractRuleTestCase { String replacement = "/replace"; String queryString = "request=parameter"; - _request.setUri(new HttpURI("/old/context")); + _request.setURIPathQuery("/old/context"); _request.setQueryString(queryString); RewritePatternRule rewritePatternRule = new RewritePatternRule(); @@ -111,7 +111,7 @@ public class RewritePatternRuleTest extends AbstractRuleTestCase String[] split = replacement.split("\\?", 2); String path = split[0]; String queryString = split[1]; - _request.setUri(new HttpURI("/old/context")); + _request.setURIPathQuery("/old/context"); _request.setQueryString(requestQueryString); RewritePatternRule rewritePatternRule = new RewritePatternRule(); diff --git a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewriteRegexRuleTest.java b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewriteRegexRuleTest.java index 11cf1fe21b..49d2609f6c 100644 --- a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewriteRegexRuleTest.java +++ b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RewriteRegexRuleTest.java @@ -66,15 +66,13 @@ public class RewriteRegexRuleTest extends AbstractRuleTestCase for (String[] test : _tests) { reset(); - _request.setRequestURI(null); + _request.setURIPathQuery(null); String t=test[0]+"?"+test[1]+">"+test[2]+"|"+test[3]; _rule.setRegex(test[2]); _rule.setReplacement(test[3]); - _request.setUri(new HttpURI(test[0]+(test[1]==null?"":("?"+test[1])))); - _request.getRequestURI(); - + _request.setURIPathQuery(test[0]+(test[1]==null?"":("?"+test[1]))); String result = _rule.matchAndApply(test[0], _request, _response); assertEquals(t, test[4], result); @@ -89,7 +87,7 @@ public class RewriteRegexRuleTest extends AbstractRuleTestCase if (test[5]!=null) { MultiMap<String> params=new MultiMap<String>(); - UrlEncoded.decodeTo(test[5],params, StandardCharsets.UTF_8,-1); + UrlEncoded.decodeTo(test[5],params, StandardCharsets.UTF_8); for (String n:params.keySet()) assertEquals(params.getString(n),_request.getParameter(n)); @@ -110,7 +108,7 @@ public class RewriteRegexRuleTest extends AbstractRuleTestCase _rule.setRegex(test[2]); _rule.setReplacement(test[3]); - _request.setRequestURI(test[0]); + _request.setURIPathQuery(test[0]); _request.setQueryString(test[1]); _request.getAttributes().clearAttributes(); diff --git a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/ValidUrlRuleTest.java b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/ValidUrlRuleTest.java index 0a612e3a5c..023faabf59 100644 --- a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/ValidUrlRuleTest.java +++ b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/ValidUrlRuleTest.java @@ -41,7 +41,7 @@ public class ValidUrlRuleTest extends AbstractRuleTestCase public void testValidUrl() throws Exception { _rule.setCode("404"); - _request.setRequestURI("/valid/uri.html"); + _request.setURIPathQuery("/valid/uri.html"); _rule.matchAndApply(_request.getRequestURI(), _request, _response); @@ -52,7 +52,7 @@ public class ValidUrlRuleTest extends AbstractRuleTestCase public void testInvalidUrl() throws Exception { _rule.setCode("404"); - _request.setRequestURI("/invalid%0c/uri.html"); + _request.setURIPathQuery("/invalid%0c/uri.html"); String result = _rule.matchAndApply(_request.getRequestURI(), _request, _response); @@ -64,7 +64,7 @@ public class ValidUrlRuleTest extends AbstractRuleTestCase { _rule.setCode("405"); _rule.setReason("foo"); - _request.setRequestURI("/%00/"); + _request.setURIPathQuery("/%00/"); String result = _rule.matchAndApply(_request.getRequestURI(), _request, _response); @@ -77,7 +77,7 @@ public class ValidUrlRuleTest extends AbstractRuleTestCase { _rule.setCode("405"); _rule.setReason("foo"); - _request.setRequestURI("/jsp/bean1.jsp%00"); + _request.setURIPathQuery("/jsp/bean1.jsp%00"); String result = _rule.matchAndApply(_request.getRequestURI(), _request, _response); @@ -91,7 +91,7 @@ public class ValidUrlRuleTest extends AbstractRuleTestCase { _rule.setCode("405"); _rule.setReason("foo"); - _request.setRequestURI("/jsp/shamrock-%00%E2%98%98.jsp"); + _request.setURIPathQuery("/jsp/shamrock-%00%E2%98%98.jsp"); String result = _rule.matchAndApply(_request.getRequestURI(), _request, _response); @@ -105,7 +105,7 @@ public class ValidUrlRuleTest extends AbstractRuleTestCase { _rule.setCode("405"); _rule.setReason("foo"); - _request.setRequestURI("/jsp/shamrock-%E2%98%98.jsp"); + _request.setURIPathQuery("/jsp/shamrock-%E2%98%98.jsp"); String result = _rule.matchAndApply(_request.getRequestURI(), _request, _response); diff --git a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/VirtualHostRuleContainerTest.java b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/VirtualHostRuleContainerTest.java index 8d692ae4c7..deca36f4f6 100644 --- a/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/VirtualHostRuleContainerTest.java +++ b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/VirtualHostRuleContainerTest.java @@ -49,7 +49,7 @@ public class VirtualHostRuleContainerTest extends AbstractRuleTestCase _fooContainerRule.setRules(new Rule[] { _fooRule }); start(false); - _request.setRequestURI("/cheese/bar"); + _request.setURIPathQuery("/cheese/bar"); _handler.setServer(_server); _handler.start(); @@ -58,7 +58,7 @@ public class VirtualHostRuleContainerTest extends AbstractRuleTestCase @Test public void testArbitraryHost() throws Exception { - _request.setServerName("cheese.com"); + _request.setAuthority("cheese.com",0); _handler.setRules(new Rule[] { _rule, _fooContainerRule }); handleRequest(); assertEquals("{_rule, _fooContainerRule, Host: cheese.com}: applied _rule", "/rule/bar", _request.getRequestURI()); @@ -67,7 +67,7 @@ public class VirtualHostRuleContainerTest extends AbstractRuleTestCase @Test public void testVirtualHost() throws Exception { - _request.setServerName("foo.com"); + _request.setAuthority("foo.com",0); _handler.setRules(new Rule[] { _fooContainerRule }); handleRequest(); assertEquals("{_fooContainerRule, Host: foo.com}: applied _fooRule", "/cheese/fooRule", _request.getRequestURI()); @@ -76,8 +76,8 @@ public class VirtualHostRuleContainerTest extends AbstractRuleTestCase @Test public void testCascadingRules() throws Exception { - _request.setServerName("foo.com"); - _request.setRequestURI("/cheese/bar"); + _request.setAuthority("foo.com",0); + _request.setURIPathQuery("/cheese/bar"); _rule.setTerminating(false); _fooRule.setTerminating(false); @@ -87,17 +87,17 @@ public class VirtualHostRuleContainerTest extends AbstractRuleTestCase handleRequest(); assertEquals("{_rule, _fooContainerRule}: applied _rule, didn't match _fooRule", "/rule/bar", _request.getRequestURI()); - _request.setRequestURI("/cheese/bar"); + _request.setURIPathQuery("/cheese/bar"); _handler.setRules(new Rule[] { _fooContainerRule, _rule }); handleRequest(); assertEquals("{_fooContainerRule, _rule}: applied _fooRule, _rule","/rule/fooRule", _request.getRequestURI()); - _request.setRequestURI("/cheese/bar"); + _request.setURIPathQuery("/cheese/bar"); _fooRule.setTerminating(true); handleRequest(); assertEquals("{_fooContainerRule, _rule}: (_fooRule is terminating); applied _fooRule, _rule", "/rule/fooRule", _request.getRequestURI()); - _request.setRequestURI("/cheese/bar"); + _request.setURIPathQuery("/cheese/bar"); _fooRule.setTerminating(false); _fooContainerRule.setTerminating(true); handleRequest(); @@ -107,7 +107,7 @@ public class VirtualHostRuleContainerTest extends AbstractRuleTestCase @Test public void testCaseInsensitiveHostname() throws Exception { - _request.setServerName("Foo.com"); + _request.setAuthority("Foo.com",0); _fooContainerRule.setVirtualHosts(new String[] {"foo.com"} ); _handler.setRules(new Rule[]{ _fooContainerRule }); @@ -118,21 +118,21 @@ public class VirtualHostRuleContainerTest extends AbstractRuleTestCase @Test public void testEmptyVirtualHost() throws Exception { - _request.setServerName("cheese.com"); + _request.setAuthority("cheese.com",0); _handler.setRules(new Rule[] { _fooContainerRule }); _fooContainerRule.setVirtualHosts(null); handleRequest(); assertEquals("{_fooContainerRule: virtual hosts array is null, Host: cheese.com}: apply _fooRule", "/cheese/fooRule", _request.getRequestURI()); - _request.setRequestURI("/cheese/bar"); - _request.setRequestURI("/cheese/bar"); + _request.setURIPathQuery("/cheese/bar"); + _request.setURIPathQuery("/cheese/bar"); _fooContainerRule.setVirtualHosts(new String[] {}); handleRequest(); assertEquals("{_fooContainerRule: virtual hosts array is empty, Host: cheese.com}: apply _fooRule", "/cheese/fooRule", _request.getRequestURI()); - _request.setRequestURI("/cheese/bar"); - _request.setRequestURI("/cheese/bar"); + _request.setURIPathQuery("/cheese/bar"); + _request.setURIPathQuery("/cheese/bar"); _fooContainerRule.setVirtualHosts(new String[] {null}); handleRequest(); assertEquals("{_fooContainerRule: virtual host is null, Host: cheese.com}: apply _fooRule", "/cheese/fooRule", _request.getRequestURI()); @@ -142,14 +142,14 @@ public class VirtualHostRuleContainerTest extends AbstractRuleTestCase @Test public void testMultipleVirtualHosts() throws Exception { - _request.setServerName("foo.com"); + _request.setAuthority("foo.com",0); _handler.setRules(new Rule[] {_fooContainerRule }); _fooContainerRule.setVirtualHosts(new String[]{ "cheese.com" }); handleRequest(); assertEquals("{_fooContainerRule: vhosts[cheese.com], Host: foo.com}: no effect", "/cheese/bar", _request.getRequestURI()); - _request.setRequestURI("/cheese/bar"); + _request.setURIPathQuery("/cheese/bar"); _fooContainerRule.addVirtualHost( "foo.com" ); handleRequest(); assertEquals("{_fooContainerRule: vhosts[cheese.com, foo.com], Host: foo.com}: apply _fooRule", "/cheese/fooRule", _request.getRequestURI()); @@ -182,8 +182,8 @@ public class VirtualHostRuleContainerTest extends AbstractRuleTestCase for(String host: requestHosts) { - _request.setServerName(host); - _request.setRequestURI("/cheese/bar"); + _request.setAuthority(host,0); + _request.setURIPathQuery("/cheese/bar"); handleRequest(); if(succeed) assertEquals("{_fooContainerRule, Host: "+host+"}: should apply _fooRule", "/cheese/fooRule", _request.getRequestURI()); |