hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HTTPCORE-253) getMetrics() does not work for HEAD or other early release methods
Date Mon, 11 Apr 2011 23:08:05 GMT
getMetrics() does not work for HEAD or other early release methods
------------------------------------------------------------------

                 Key: HTTPCORE-253
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-253
             Project: HttpComponents HttpCore
          Issue Type: Bug
            Reporter: Sebb


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)

This is because the getMetrics() method calls assertValid() which checks that the connection
has not been released, and the HEAD request is released as soon as it completes, before returning
to the caller.

Possible solutions:
- don't call assertValid() in getMetrics()
- store a pointer to the metrics in the local context

--
This message is automatically generated by JIRA.
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