Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2011-05-17 04:31:15 +0000
committerGreg Wilkins2011-05-17 04:31:15 +0000
commit53417972ec90304f40934a22930b2df742780093 (patch)
treef10fefeb3fcadd2fa90a847450801d790c843dec
parent018a366f6da703fce2bab94921d40d1f85a5937b (diff)
downloadorg.eclipse.jetty.project-53417972ec90304f40934a22930b2df742780093.tar.gz
org.eclipse.jetty.project-53417972ec90304f40934a22930b2df742780093.tar.xz
org.eclipse.jetty.project-53417972ec90304f40934a22930b2df742780093.zip
346014 Fixed full HttpGenerator
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@3161 7e9141cc-0065-0410-87d8-b60c137991c4
-rw-r--r--jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java
index 2264b64d7c..f9eafc8df5 100644
--- a/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java
+++ b/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java
@@ -55,6 +55,7 @@ public class RequestTest
_connector.setRequestBufferSize(1024);
_connector.setResponseHeaderSize(512);
_connector.setResponseBufferSize(2048);
+ _connector.setForwarded(true);
_server.addConnector(_connector);
_handler = new RequestHandler();
_server.setHandler(_handler);
@@ -117,6 +118,87 @@ public class RequestTest
assertTrue(results.get(i++).startsWith("text/html"));
assertEquals(" x=z; ",results.get(i++));
}
+
+ @Test
+ public void testHostPort() throws Exception
+ {
+ final ArrayList<String> results = new ArrayList<String>();
+ _handler._checker = new RequestTester()
+ {
+ public boolean check(HttpServletRequest request,HttpServletResponse response)
+ {
+ results.add(request.getRemoteAddr());
+ results.add(request.getServerName());
+ results.add(String.valueOf(request.getServerPort()));
+ return true;
+ }
+ };
+
+ _connector.getResponses(
+ "GET / HTTP/1.1\n"+
+ "Host: myhost\n"+
+ "\n"+
+
+ "GET / HTTP/1.1\n"+
+ "Host: myhost:8888\n"+
+ "\n"+
+
+ "GET / HTTP/1.1\n"+
+ "Host: 1.2.3.4\n"+
+ "\n"+
+
+ "GET / HTTP/1.1\n"+
+ "Host: 1.2.3.4:8888\n"+
+ "\n"+
+
+ "GET / HTTP/1.1\n"+
+ "Host: [::1]\n"+
+ "\n"+
+
+ "GET / HTTP/1.1\n"+
+ "Host: [::1]:8888\n"+
+ "\n"+
+
+ "GET / HTTP/1.1\n"+
+ "Host: [::1]\n"+
+ "x-forwarded-for: remote\n"+
+ "x-forwarded-proto: https\n"+
+ "\n"+
+
+ "GET / HTTP/1.1\n"+
+ "Host: [::1]:8888\n"+
+ "x-forwarded-for: remote\n"+
+ "x-forwarded-proto: https\n"+
+ "\n"
+ );
+
+ int i=0;
+ assertEquals(null,results.get(i++));
+ assertEquals("myhost",results.get(i++));
+ assertEquals("80",results.get(i++));
+ assertEquals(null,results.get(i++));
+ assertEquals("myhost",results.get(i++));
+ assertEquals("8888",results.get(i++));
+ assertEquals(null,results.get(i++));
+ assertEquals("1.2.3.4",results.get(i++));
+ assertEquals("80",results.get(i++));
+ assertEquals(null,results.get(i++));
+ assertEquals("1.2.3.4",results.get(i++));
+ assertEquals("8888",results.get(i++));
+ assertEquals(null,results.get(i++));
+ assertEquals("[::1]",results.get(i++));
+ assertEquals("80",results.get(i++));
+ assertEquals(null,results.get(i++));
+ assertEquals("[::1]",results.get(i++));
+ assertEquals("8888",results.get(i++));
+ assertEquals("remote",results.get(i++));
+ assertEquals("[::1]",results.get(i++));
+ assertEquals("443",results.get(i++));
+ assertEquals("remote",results.get(i++));
+ assertEquals("[::1]",results.get(i++));
+ assertEquals("8888",results.get(i++));
+
+ }
@Test
public void testContent() throws Exception

Back to the top