HttpClient API is pretty much low-level, and needs some obscure setup (Registry, ..) to target the common use case (sometimes, you don't care about the low level details, you just
want to fire an http client, and hit a given web resource).
I have extracted some supporting code out of my application in the hope to make it widely available for others. It is available at :
It contains :
- HttpClientTemplate that automatically open/close connections in case of exceptions.It also provides a kind of generic http error handling mechanism.
- a spring HttpClientFactoryBean (as well as a helper factory class for httpclient) that allows setting up http client for the common use case
- an InputStreamSourceBody that can be used to create POST entities that are repeatable, wrapping a spring InputStreamSource
- the code for the GZIP interceptors that are documented as examples on httpclient website.
The code is still not tested (just extracted that logic from my application), needs some polishing, and a few things like the error handling mechanism still need more thought. But I feel it can be helpful to others.
So, my question is : can we create a kind of -contrib project for httpclient, that allows people to share their helpers with the community ?
the code is currently available under under apache v2 license, but I'm willing to adopt whatever licensing/copyright issues that would help to make this available.
Oh, also, if you want to see the code in action, here's an example of a REST client that uses it :
(which is another project born out of extracted code from my application, that I'm trying to push as open source ; I just lack time to handle the community / website / etc issues).