On 11 April 2011 11:51, Oleg Kalnichevski <[email protected]> wrote:
> 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.

Yes, but why does the getMetrics method require the connection to be active?

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

Or save the metrics in the local context?

> Feel free to raise a JIRA for this issue.

I'll do that later.

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

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

Reply via email to