You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2012/03/03 13:28:59 UTC
svn commit: r1296612 - in /httpcomponents/httpclient/trunk/httpclient/src:
main/java/org/apache/http/impl/client/DefaultRequestDirector.java
test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java
Author: olegk
Date: Sat Mar 3 12:28:59 2012
New Revision: 1296612
URL: http://svn.apache.org/viewvc?rev=1296612&view=rev
Log:
ClientPNames.VIRTUAL_HOST has no effect if set at the client level
Modified:
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java
httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java?rev=1296612&r1=1296611&r2=1296612&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java Sat Mar 3 12:28:59 2012
@@ -410,8 +410,7 @@ public class DefaultRequestDirector impl
origWrapper.setParams(params);
HttpRoute origRoute = determineRoute(target, origWrapper, context);
- virtualHost = (HttpHost) orig.getParams().getParameter(
- ClientPNames.VIRTUAL_HOST);
+ virtualHost = (HttpHost) origWrapper.getParams().getParameter(ClientPNames.VIRTUAL_HOST);
// HTTPCLIENT-1092 - add the port if necessary
if (virtualHost != null && virtualHost.getPort() == -1) {
Modified: httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java?rev=1296612&r1=1296611&r2=1296612&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/TestDefaultClientRequestDirector.java Sat Mar 3 12:28:59 2012
@@ -185,6 +185,32 @@ public class TestDefaultClientRequestDir
}
@Test
+ public void testClientLevelVirtualHostHeader() throws Exception {
+ int port = this.localServer.getServiceAddress().getPort();
+ this.localServer.register("*", new SimpleService());
+
+ HttpContext context = new BasicHttpContext();
+
+ String s = "http://localhost:" + port;
+ HttpGet httpget = new HttpGet(s);
+
+ String virtHost = "virtual";
+ this.httpclient.getParams().setParameter(ClientPNames.VIRTUAL_HOST, new HttpHost(virtHost, port));
+ HttpResponse response = this.httpclient.execute(getServerHttp(), httpget, context);
+ EntityUtils.consume(response.getEntity());
+
+ HttpRequest reqWrapper = (HttpRequest) context.getAttribute(
+ ExecutionContext.HTTP_REQUEST);
+
+ Assert.assertEquals(HttpStatus.SC_OK, response.getStatusLine().getStatusCode());
+ // Check that Host header is generated as expected
+ Header[] headers = reqWrapper.getHeaders("host");
+ Assert.assertNotNull(headers);
+ Assert.assertEquals(1, headers.length);
+ Assert.assertEquals(virtHost+":"+port,headers[0].getValue());
+ }
+
+ @Test
public void testDefaultHostAtRequestLevel() throws Exception {
int port = this.localServer.getServiceAddress().getPort();
this.localServer.register("*", new SimpleService());