hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Francois-Xavier Bonnet (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCLIENT-1240) Empty HttpParams for cacheable requests
Date Thu, 04 Oct 2012 14:31:49 GMT

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13469405#comment-13469405
] 

Francois-Xavier Bonnet commented on HTTPCLIENT-1240:
----------------------------------------------------

I just made the fix but as it adds a call to method getParams() on the backend, it breaks
hundreds of unit tests.

Tests run: 963, Failures: 509, Errors: 0, Skipped: 2

java.lang.AssertionError:
  Unexpected method call getParams():

I don't see a way I can fix it without fixing 509 unit tests.
                
> Empty HttpParams for cacheable requests
> ---------------------------------------
>
>                 Key: HTTPCLIENT-1240
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1240
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: Cache
>    Affects Versions: 4.2.1
>            Reporter: Francois-Xavier Bonnet
>            Priority: Minor
>             Fix For: 4.3 Alpha1
>
>
> With DefaultHttpClient, HttpResponse.getParams() returns a ClientParamsStack with all
the parameters previously set at HttpClient or HttpRequest level.
> With CachingHttpClient it returns an empty BasicHttpParams when a response is cached.
> This feature can be very usefull when you are doing complex processing with Interceptors
for example. It is described in HttpClient documentation:
> http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#d5e299
> http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/client/ClientParamsStack.html
> CachingHttpClient should not break this feature.
> Here is some sample code:
> 	// Client and Request scoped params with DefaultHttpClient
> 	DefaultHttpClient httpClient = new DefaultHttpClient();
> 	httpClient.getParams().setParameter("testClientParam", "testClientParam");
> 	HttpGet httpGet = new HttpGet("http://www.google.fr/images/srpr/logo3w.png");
> 	httpGet.getParams().setParameter("testRequestParam", "testRequestParam");
> 	HttpResponse response = httpClient.execute(httpGet);
> 	EntityUtils.consumeQuietly(response.getEntity());
> 	System.out.println(response.getParams().getParameter("testClientParam"));
> 	System.out.println(response.getParams().getParameter("testRequestParam"));
> 	// Same test with CachingHttpClient
> 	httpClient = new DefaultHttpClient();
> 	CachingHttpClient cachingHttpClient = new CachingHttpClient(httpClient);
> 	cachingHttpClient.getParams().setParameter("testClientParam", "testClientParam");
> 	httpGet = new HttpGet("http://www.google.fr/images/srpr/logo3w.png");
> 	httpGet.getParams().setParameter("testRequestParam", "testRequestParam");
> 	response = cachingHttpClient.execute(httpGet);
> 	EntityUtils.consumeQuietly(response.getEntity());
> 	System.out.println(response.getParams().getParameter("testClientParam"));
> 	System.out.println(response.getParams().getParameter("testRequestParam"));
> If you agree I can provide a patch and unit tests

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message