[
https://issues.apache.org/jira/browse/HTTPCLIENT-1081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sebb updated HTTPCLIENT-1081:
-----------------------------
Comment: was deleted
(was: Pattern IS thread-safe according to the class Javadoc [1]
However Matcher is not.
[1] https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html)
> getMetrics() does not work for HEAD or other early release methods
> ------------------------------------------------------------------
>
> Key: HTTPCLIENT-1081
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1081
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Reporter: Sebb
> Fix For: 5.0
>
>
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]