upgrade HTTPComponents from 4.1.3 to 4.2.1
The main rationale for the upgrade is the rewritten connection management code. We may wish to experiment with the fluent interface, but that is likely to be more disruptive to existing code, while at the same time constraining us again to one way of managing connections. (It holds a DefaultHttpClient/PoolingClientConnectionManager) instance in a final static property of org.apache.http.client.fluent.Executor class)
The DefaultHttpClient now instantiates a PoolingClientConnectionManager instead of the now deprecated SingleClientConnManager.
from the apache news page:
This is the first stable (GA) release of HttpClient 4.2. The most notable enhancements included in this release are:
* New facade API for HttpClient based on the concept of a fluent interface. The fluent API exposes only the most fundamental functions of HttpClient and is intended for relatively simple use cases that do not require the full flexibility of HttpClient. However, the fluent API almost fully relieves the users from having to deal with connection management and resource deallocation.
* Redesigned and rewritten connection management code.
* Enhanced HTTP authentication API that enables HttpClient to handle more complex authentication scenarios. HttpClient 4.2 is now capable of making use of multiple authentication challenges and retry authentication with a fall-back scheme in case the primary one fails. This can be important for compatibility with Microsoft products that are often configured to use SPNEGO/Kerberos as the preferred authentication scheme.