diff options
Diffstat (limited to 'jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java')
-rw-r--r-- | jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java index 08689537a1..820796ee76 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java @@ -18,6 +18,9 @@ package org.eclipse.jetty.server; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -45,9 +48,6 @@ import org.junit.After; import org.junit.Before; import org.junit.Rule; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertThat; - public abstract class AbstractHttpTest { private final static Set<String> __noBodyCodes = new HashSet<>(Arrays.asList(new String[]{"100","101","102","204","304"})); @@ -86,24 +86,26 @@ public abstract class AbstractHttpTest protected SimpleHttpResponse executeRequest() throws URISyntaxException, IOException { - Socket socket = new Socket("localhost", connector.getLocalPort()); - socket.setSoTimeout((int)connector.getIdleTimeout()); - BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8)); - PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); + try(Socket socket = new Socket("localhost", connector.getLocalPort());) + { + socket.setSoTimeout((int)connector.getIdleTimeout()); + BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8)); + PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); - writer.write("GET / " + httpVersion + "\r\n"); - writer.write("Host: localhost\r\n"); - writer.write("\r\n"); - writer.flush(); + writer.write("GET / " + httpVersion + "\r\n"); + writer.write("Host: localhost\r\n"); + writer.write("\r\n"); + writer.flush(); - SimpleHttpResponse response = httpParser.readResponse(reader); + SimpleHttpResponse response = httpParser.readResponse(reader); if ("HTTP/1.1".equals(httpVersion) && response.getHeaders().get("content-length") == null && response.getHeaders().get("transfer-encoding") == null && !__noBodyCodes.contains(response.getCode())) - assertThat("If HTTP/1.1 response doesn't contain transfer-encoding or content-length headers, " + - "it should contain connection:close", response.getHeaders().get("connection"), is("close")); - return response; + assertThat("If HTTP/1.1 response doesn't contain transfer-encoding or content-length headers, " + + "it should contain connection:close", response.getHeaders().get("connection"), is("close")); + return response; + } } protected void assertResponseBody(SimpleHttpResponse response, String expectedResponseBody) @@ -134,9 +136,15 @@ public abstract class AbstractHttpTest this.throwException = throwException; } - @Override + @Override final public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { + super.handle(target,baseRequest,request,response); + } + + @Override + public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + { if (throwException) throw new TestCommitException(); } |