@Test public void testKeepAlive() throws Exception { URI uri = URI.create(baseURI.toASCIIString() + "/?remotePort="); Request request = prepareGet() .setUri(uri) .build(); StatusResponse response1 = executeRequest(request, createStatusResponseHandler()); Thread.sleep(1000); StatusResponse response2 = executeRequest(request, createStatusResponseHandler()); Thread.sleep(1000); StatusResponse response3 = executeRequest(request, createStatusResponseHandler()); assertNotNull(response1.getHeader("remotePort")); assertNotNull(response2.getHeader("remotePort")); assertNotNull(response3.getHeader("remotePort")); int port1 = Integer.parseInt(response1.getHeader("remotePort")); int port2 = Integer.parseInt(response2.getHeader("remotePort")); int port3 = Integer.parseInt(response3.getHeader("remotePort")); assertEquals(port2, port1); assertEquals(port3, port1); assertBetweenInclusive(port1, 1024, 65535); }
@Test public void testKeepAlive() throws Exception { URI uri = URI.create(baseURI.toASCIIString() + "/?remotePort="); Request request = prepareGet() .setUri(uri) .build(); StatusResponse response1 = executeRequest(request, createStatusResponseHandler()); Thread.sleep(1000); StatusResponse response2 = executeRequest(request, createStatusResponseHandler()); Thread.sleep(1000); StatusResponse response3 = executeRequest(request, createStatusResponseHandler()); assertNotNull(response1.getHeader("remotePort")); assertNotNull(response2.getHeader("remotePort")); assertNotNull(response3.getHeader("remotePort")); int port1 = Integer.parseInt(response1.getHeader("remotePort")); int port2 = Integer.parseInt(response2.getHeader("remotePort")); int port3 = Integer.parseInt(response3.getHeader("remotePort")); assertEquals(port2, port1); assertEquals(port3, port1); assertBetweenInclusive(port1, 1024, 65535); }
@Test public void testFollowRedirects() throws Exception { Request request = prepareGet() .setUri(URI.create(baseURI.toASCIIString() + "/test?redirect=/redirect")) .build(); StatusResponse response = executeRequest(request, createStatusResponseHandler()); assertEquals(response.getStatusCode(), 200); assertNull(response.getHeader(LOCATION)); assertEquals(servlet.getRequestUri(), URI.create(baseURI.toASCIIString() + "/redirect")); request = Request.Builder.fromRequest(request) .setFollowRedirects(false) .build(); response = executeRequest(request, createStatusResponseHandler()); assertEquals(response.getStatusCode(), 302); assertEquals(response.getHeader(LOCATION), baseURI.toASCIIString() + "/redirect"); assertEquals(servlet.getRequestUri(), request.getUri()); }
@Test public void testKeepAlive() throws Exception { URI uri = URI.create(baseURI.toASCIIString() + "/?remotePort="); Request request = prepareGet() .setUri(uri) .build(); StatusResponse response1 = executeRequest(request, createStatusResponseHandler()); Thread.sleep(1000); StatusResponse response2 = executeRequest(request, createStatusResponseHandler()); Thread.sleep(1000); StatusResponse response3 = executeRequest(request, createStatusResponseHandler()); assertNotNull(response1.getHeader("remotePort")); assertNotNull(response2.getHeader("remotePort")); assertNotNull(response3.getHeader("remotePort")); int port1 = Integer.parseInt(response1.getHeader("remotePort")); int port2 = Integer.parseInt(response2.getHeader("remotePort")); int port3 = Integer.parseInt(response3.getHeader("remotePort")); assertEquals(port2, port1); assertEquals(port3, port1); assertBetweenInclusive(port1, 1024, 65535); }
@Test public void testHttps() throws Exception { config.setHttpEnabled(false) .setHttpsEnabled(true) .setHttpsPort(0) .setKeystorePath(getResource("test.keystore.with.two.passwords").getPath()) .setKeystorePassword("airlift") .setKeyManagerPassword("airliftkey"); createAndStartServer(); HttpClientConfig http1ClientConfig = new HttpClientConfig() .setHttp2Enabled(false) .setTrustStorePath(getResource("test.truststore").getPath()) .setTrustStorePassword("airlift"); try (JettyHttpClient httpClient = new JettyHttpClient(http1ClientConfig)) { StatusResponse response = httpClient.execute(prepareGet().setUri(httpServerInfo.getHttpsUri()).build(), createStatusResponseHandler()); assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK); assertEquals(response.getHeader("X-Protocol"), "HTTP/1.1"); } }
@Test public void testFollowRedirects() throws Exception { Request request = prepareGet() .setUri(URI.create(baseURI.toASCIIString() + "/test?redirect=/redirect")) .build(); StatusResponse response = executeRequest(request, createStatusResponseHandler()); assertEquals(response.getStatusCode(), 200); assertNull(response.getHeader(LOCATION)); assertEquals(servlet.getRequestUri(), URI.create(baseURI.toASCIIString() + "/redirect")); request = Request.Builder.fromRequest(request) .setFollowRedirects(false) .build(); response = executeRequest(request, createStatusResponseHandler()); assertEquals(response.getStatusCode(), 302); assertEquals(response.getHeader(LOCATION), baseURI.toASCIIString() + "/redirect"); assertEquals(servlet.getRequestUri(), request.getUri()); }
@Test public void testHttp() throws Exception { createServer(); server.start(); try (JettyHttpClient httpClient = new JettyHttpClient(new HttpClientConfig().setHttp2Enabled(false))) { StatusResponse response = httpClient.execute(prepareGet().setUri(httpServerInfo.getHttpUri()).build(), createStatusResponseHandler()); assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK); assertEquals(response.getHeader("X-Protocol"), "HTTP/1.1"); } try (JettyHttpClient httpClient = new JettyHttpClient(new HttpClientConfig().setHttp2Enabled(true))) { StatusResponse response = httpClient.execute(prepareGet().setUri(httpServerInfo.getHttpUri()).build(), createStatusResponseHandler()); assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK); assertEquals(response.getHeader("X-Protocol"), "HTTP/2.0"); } }
@Test public void testHttp() throws Exception { createServer(); server.start(); try (JettyHttpClient httpClient = new JettyHttpClient(new HttpClientConfig().setHttp2Enabled(false))) { StatusResponse response = httpClient.execute(prepareGet().setUri(httpServerInfo.getHttpUri()).build(), createStatusResponseHandler()); assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK); assertEquals(response.getHeader("X-Protocol"), "HTTP/1.1"); } try (JettyHttpClient httpClient = new JettyHttpClient(new HttpClientConfig().setHttp2Enabled(true))) { StatusResponse response = httpClient.execute(prepareGet().setUri(httpServerInfo.getHttpUri()).build(), createStatusResponseHandler()); assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK); assertEquals(response.getHeader("X-Protocol"), "HTTP/2.0"); } }