I've checked in my *very* rough initial thoughts for an API. I
"vetted" them against an Amazon S3 API that I am working on https://svn.codehaus.org/livetribe/nursery/livetribe-s3-api
.
There was a discussion on this a while back. I thought that the
connector/connection/client/factory was a bit awkward, imho. There
were a few other things but rather than making a tedious comparison I
thought that I would just highlight what I think are the key important
features of the my API sketch.
I'm pretty sure that it can support all the use cases listed in http://cwiki.apache.org/AWEB/client-use-cases.html
plus a few more.
My API is pretty simple. Factories create clients and clients create
connections; you can forgo the use of factories. Connections can be
reused to implement load balancing/proxying. You'll notice that the
core components are not littered with implementation parameters.
These are left to implementations of HttpConfig.
I have an asynchronous mechanism to download content as the HTPP
response is being parsed. I think my mechanism for supplying multiple
MIME content is pretty clean.
Extensions of HttpListener can be added to obtain various events. I
thought that the type safety of listeners would be preferred to a
generic HttpEvent listener.
There may be overlap with existing APIs.
Regards,
Alan