On Sat, 2011-04-09 at 13:20 +0100, sebb wrote:
> The following code works fine for GET:
> 
>             HttpResponse httpResponse =
> httpClient.execute(httpRequest, localContext);
>             HttpConnection conn = (HttpConnection)
> localContext.getAttribute(ExecutionContext.HTTP_CONNECTION);
>             HttpConnectionMetrics metrics = conn.getMetrics();
> 
> but fails on the getMetrics() call when the request is HEAD:
> 
>         org.apache.http.impl.conn.ConnectionShutdownException
>       at 
> org.apache.http.impl.conn.AbstractClientConnAdapter.assertValid(AbstractClientConnAdapter.java:154)
>       at 
> org.apache.http.impl.conn.AbstractClientConnAdapter.getMetrics(AbstractClientConnAdapter.java:190)
> 
> Is that intentional? Surely the metrics should still be valid?
> 

That's because responses to HEAD requests do not enclose any content
body, so the HTTP connection is returned back to the pool immediately.

We could make the AbstractClientConnAdapter class keep a copy of
connection metrics even after the underlying HTTP connection is released
back to the pool.

Feel free to raise a JIRA for this issue.

Oleg



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

Reply via email to