On Mon, 2013-02-11 at 16:54 +0100, François-Xavier Bonnet wrote:
> My test is:
> 
>          HttpClient httpClient = new DefaultHttpClient();
>          HttpUriRequest request = new HttpGet(
>                  "http://localhost:8080/";);
>          request.getParams().setParameter(ClientPNames.COOKIE_POLICY,
>                  CookiePolicy.BROWSER_COMPATIBILITY);
>          HttpResponse response = httpClient.execute(request);
> 
> In HttpClient 4.2.3 BrowserCompatSpec is used but in 4.3 it is BestMatchSpec
> 
> HttpClientParamConfig is used only if I build my HttpClient the new way 
> (using HttpClientBuilder).
> 
> Do we consider it as a bug?

Certainly a bug. Try this patch out. If it fixes the problem for you
feel free to commit it to SVN trunk.

Oleg


diff --git a/httpclient/src/main/java/org/apache/http/impl/client/AbstractHttpClient.java b/httpclient/src/main/java/org/apache/http/impl/client/AbstractHttpClient.java
index 1d91429..43c1fe6 100644
--- a/httpclient/src/main/java/org/apache/http/impl/client/AbstractHttpClient.java
+++ b/httpclient/src/main/java/org/apache/http/impl/client/AbstractHttpClient.java
@@ -54,10 +54,12 @@ import org.apache.http.client.RedirectHandler;
 import org.apache.http.client.RedirectStrategy;
 import org.apache.http.client.RequestDirector;
 import org.apache.http.client.UserTokenHandler;
+import org.apache.http.client.config.RequestConfig;
 import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.params.AuthPolicy;
 import org.apache.http.client.params.ClientPNames;
 import org.apache.http.client.params.CookiePolicy;
+import org.apache.http.client.params.HttpClientParamConfig;
 import org.apache.http.client.protocol.ClientContext;
 import org.apache.http.conn.ClientConnectionManager;
 import org.apache.http.conn.ClientConnectionManagerFactory;
@@ -801,6 +803,10 @@ public abstract class AbstractHttpClient extends CloseableHttpClient {
             } else {
                 execContext = new DefaultedHttpContext(context, defaultContext);
             }
+            final HttpParams params = determineParams(request);
+            final RequestConfig config = HttpClientParamConfig.getRequestConfig(params);
+            execContext.setAttribute(ClientContext.REQUEST_CONFIG, config);
+
             // Create a director for this request
             director = createClientRequestDirector(
                     getRequestExecutor(),
@@ -814,7 +820,7 @@ public abstract class AbstractHttpClient extends CloseableHttpClient {
                     getTargetAuthenticationStrategy(),
                     getProxyAuthenticationStrategy(),
                     getUserTokenHandler(),
-                    determineParams(request));
+                    params);
             routePlanner = getRoutePlanner();
             connectionBackoffStrategy = getConnectionBackoffStrategy();
             backoffManager = getBackoffManager();

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to