diff options
author | Greg Wilkins | 2014-07-25 05:03:51 +0000 |
---|---|---|
committer | Greg Wilkins | 2014-07-25 05:03:51 +0000 |
commit | 22e57ef7b727f24e41cc0040bfe47889bf3d7705 (patch) | |
tree | 3b44dc571234a6fc95f2e70645f03f852ac9bb3b /jetty-rewrite | |
parent | 30123607c66627f74c8e8f7bed372f6e9b99ec31 (diff) | |
download | org.eclipse.jetty.project-22e57ef7b727f24e41cc0040bfe47889bf3d7705.tar.gz org.eclipse.jetty.project-22e57ef7b727f24e41cc0040bfe47889bf3d7705.tar.xz org.eclipse.jetty.project-22e57ef7b727f24e41cc0040bfe47889bf3d7705.zip |
refactored Request to use new HttpURI
Diffstat (limited to 'jetty-rewrite')
11 files changed, 50 insertions, 52 deletions
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 13f2f0925b..37306b523e 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/RewritePatternRule.java b/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RewritePatternRule.java index eca9da6766..2aec89bd40 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 f9fd8a347d..9a664317bc 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 f20e9142c7..20d78778d5 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 @@ -216,7 +216,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) 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 f802c74f00..def9a87fd6 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/PatternRuleTest.java b/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/PatternRuleTest.java index 65dcbbdc56..cdeadce934 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 907df35143..c4b8153a09 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 b3bbcc98bd..3d2ec08d3e 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 7cf8f2ccb0..e504d36f70 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); @@ -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 e8d6cda940..697945a0b9 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 2fa93e07e8..426329d896 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()); |