On Nov 23, 2009, at 2:34 PM, Jeff Genender wrote:
On Nov 23, 2009, at 2:47 PM, Alan D. Cabrera wrote:
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
.
Can you point out a little more specifically? Can you point out the
http specific code?
https://svn.codehaus.org/livetribe/nursery/livetribe-s3-api/rest/src/main/java/org/livetribe/s3/rest/v20060301/RestS3API.java
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.
Hehe - the connector/connection/client/factory was my awkward
implementation. ;-)
Ahh, well, I did state that it was only "bit" awkward but, now that I
know who wrote it I can call it a "steaming pile" ;) (Just kidding)
Actually I was talking about the proposed API that we had worked out a
while back. Not the 1.x from Geronimo.
If I understand the code it seems that we mixed two APIs into one;
it's been a while since we discussed it. Each would accomplish
something from a different perspective. Both interesting on its own.
Would that be a good characterization?
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.
Yeah that makes a lot more sense.
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.
Can we see it?
Look at ClientTest.testSendMultipleAttachments() and
ClientTest .testReceiveMultipleAttachments() for a thin mockup of my
ideas. A more "concrete" use can be seen in my S3 API implementation
mentioned above.
Regards,
Alan