On Thursday, October 6, 2011 at 2:22 AM, Oleg Kalnichevski wrote:
> On Wed, 2011-10-05 at 13:44 -0700, David Hosier wrote:
> > Perhaps I'm wrong, but the code for BasicResponseHandler in httpclient 
> > 4.1.2 does not satisfy the javadocs as written. The javadoc states the 
> > following:
> > 
> > "If the response code was >= 300, the response body is consumed and an 
> > HttpResponseException 
> > (http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/HttpResponseException.html)
> >  is thrown."
> > 
> > However, the code does not do that:
> > 
> > StatusLine statusLine = response.getStatusLine();
> > if (statusLine.getStatusCode() >= 300) {
> >  throw new HttpResponseException(statusLine.getStatusCode(),
> >  statusLine.getReasonPhrase());
> > }
> > 
> > HttpEntity entity = response.getEntity();
> > return entity == null ? null : EntityUtils.toString(entity);
> > 
> > The code clearly throws the Exception without reading the entity. So what 
> > happens is that if you get a non-2xx response, connections are never 
> > released as can be seen by enabling DEBUG logging for the library. Am I 
> > misreading the code or javadocs, or is this really broken? If I catch the 
> > Exception and then read the entity manually like shown above, I can see the 
> > connections being closed.
> > 
> > -David
> 
> Hi David
> The resource management is taken care of by HttpClient [1]. I do not
> think BasicResponseHandler is broken. The whole point of ResponseHandler
> is to free the user from having to worry about resource management and
> response entities.
Interesting. Thanks for the link to the code. I can assure you that in my 
situation however, that the connections are not getting closed. I'll take a 
closer look at the code and compare it to this linked code to see if I'm using 
the right stuff. My assumption at this point then is that I'm just doing 
something wrong. Thanks. 
> 
> Oleg
> 
> [1]
> http://hc.apache.org/httpcomponents-client-ga/httpclient/xref/org/apache/http/impl/client/AbstractHttpClient.html#930
> 
> 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected] 
> > (mailto:[email protected])
> > For additional commands, e-mail: [email protected] 
> > (mailto:[email protected])
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected] 
> (mailto:[email protected])
> For additional commands, e-mail: [email protected] 
> (mailto:[email protected])



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

Reply via email to