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]
