diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java index ac7125f9e08..b2b537fbef4 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java @@ -113,7 +113,7 @@ public abstract class HttpConnection implements Connection } // If we are HTTP 1.1, add the Host header - if (version.getVersion() == 11) + if (version.getVersion() <= 11) { if (!headers.containsKey(HttpHeader.HOST.asString())) headers.put(getHttpDestination().getHostField()); diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java index 2320b81256e..c0041a2d652 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java @@ -1562,8 +1562,7 @@ public class HttpClientTest extends AbstractHttpClientServerTest } @Test - public void testCopyRequest() - throws Exception + public void testCopyRequest() throws Exception { startClient(); @@ -1610,6 +1609,28 @@ public class HttpClientTest extends AbstractHttpClientServerTest .header("X-Custom-Header-2", "value")); } + @Test + public void testHostWithHTTP10() throws Exception + { + start(new AbstractHandler() + { + @Override + public void handle(String target, org.eclipse.jetty.server.Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException + { + baseRequest.setHandled(true); + Assert.assertThat(request.getHeader("Host"), Matchers.notNullValue()); + } + }); + + ContentResponse response = client.newRequest("localhost", connector.getLocalPort()) + .scheme(scheme) + .version(HttpVersion.HTTP_1_0) + .timeout(5, TimeUnit.SECONDS) + .send(); + + Assert.assertEquals(200, response.getStatus()); + } + private void assertCopyRequest(Request original) { Request copy = client.copyRequest((HttpRequest) original, original.getURI());