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]