You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Oleg Kalnichevski <ol...@apache.org> on 2011/08/03 11:28:12 UTC

Re: Fluent HttpClient

On Fri, 2011-07-29 at 17:44 +0300, Xu, Lilu wrote:
> Hi Oleg,
> 
> now it is much clear that:
> 1) FluentRequest implements HttpRequest
> and encapsulates CredentialsProvider, HttpContext, and HttpParams;
> 2) FluentExecutor encapsulates SchemeRegistry, SchemeSocketFactory,
> and ThreadSafeClientConnManager;
> 3) FluentResponse implements HttpResponse.
> 

Hi Lilu

The overall design looks much better in my opinion and even though the
API is far from being complete I am afraid we will have to make a cut
here. You should start preparing the code for inclusion into the
official ASF repository and several things need to be taken care of

(1) code cleanup

- remove all deprecated and unnecessary code
- make sure all source files have an license header [1]
- make sure source code is java 1.5 compatible as the rest of
HttpComponents (unless there is a good reason to require java 1.6)

(2) get in touch with the Stanbol folks

- ask them to review the code and evaluate whether or not the new API
meets their requirements and whether or they would be comfortable
migrating to it. If they are not, we will need to scramble and address
the issues raised by the Stanbol community in the remaining four weeks. 
- This would be the right moment to discuss various options of
supporting Stanbol specific assert methods for response objects. One
possibility could be that fluent-hc provides a generic abstract
validation mechanism of some sort while Stanbol provides its concrete
implementations that fit their needs. Another possibility could be
testing specific subclass of FluentResponse maintained by Stanbol  

(3) decision on release management of the fluent-hc code

- There are two options: fluent-hc becomes a sub-module of HttpClient
and shares the same cycle with it. Alternatively fluent-hc becomes a
separate module with a release cycle of its own. There are advantages
and disadvantages to both options and they need to be carefully weighed
and a decision must be made collectively with the Stanbol folks. Their
preferences should be considered more important.  

So, there is a lot to be done. 

Cheers

Oleg

[1] http://www.apache.org/legal/src-headers.html


> Those methods related to the HttpParam/HttpContext/CredentialsProvider have
> been moved back to FluentRequest. And I think the FluentExecutor should be
> thread-safe now.
> According to the module table [1], there remains one part which is HTTP
> test. I am a little confused here about how to implement this part.
> By referring to the classes in org.apache.stanbol.commons.testing.http.*
>  like RequestExecutor, I found JUnit 4 is used. Do I need to re-implement
> those methods like assertStatus/assertContentRegexp for FluentResponse (or
> maybe FluentExecutor)?
> 
> 





---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org