The one feature I like about the AHC client that appears to be missing
here is the higher-level abstraction of an HTTP request. The one
drawback of doing everything with URLs is the requirement that the user
of the client needs to be responsible for encoding all of the parameter
information in the URL. In the AHC approach, a request is configured as
an operation to a particular address and additional specifics of the
operation are attached to the request (parameters, credentials needed
for authentication, proxy configuration etc.). The AHC client then uses
that information to handle the URL encoding, authentication challenges,
proxy connection, etc. There are times where a straighforward "fetch me
this URL mode" is sufficient. There are other situations where that
becomes awkward to use.
Rick
Mike Heath wrote:
I posted some use cases here:
http://cwiki.apache.org/confluence/display/AWEB/ClientUseCases They
still need some refinement to properly convey what I want but they're a
decent start.
I've also posted a hypothetical AsyncWeb Client API at
http://swamp.homelinux.net/mina/asyncweb/client/api/ with the intent to
further promote discussion and foster more innovative ideas. I would
love to here some feedback on this API. What do you like, dislike, not
understand? Where do you see room for improvement? The API is really
rough in places but for the most part it conveys the ideas I've had over
the past week or so. Any suggestions for name changes to classes and/or
methods are welcome.
-Mike