Date: 2005-02-12T14:00:00
Editor: RolandWeber
Wiki: Jakarta-HttpClient Wiki
Page: HttpClientApiRedesign
URL: http://wiki.apache.org/jakarta-httpclient/HttpClientApiRedesign
split context into ifce/impl, entry point to use case pages
Change Log:
------------------------------------------------------------------------------
@@ -3,8 +3,9 @@
= GOALS =
* Transform HttpClient from a client-side monolithic library into a toolset
of loosely coupled components.
- * Provide a more modular structure enabling the users to assemble custom
client- and server-side HTTP services
- * Resolve the deficiencies of the 3.0 API
+ * Provide a more modular structure enabling the users to assemble custom
client- and server-side HTTP services.
+ * Resolve the deficiencies of the 3.0 API.
+ * There is a ListOfUseCases against which this design will be verified.
= COMPONENT STRUCTURE =
@@ -89,12 +90,13 @@
* Http method executor capable of executing http requests and receiving Http
responses. This class also is capable of retrying failed requests and handling
followup requests through generic interfaces. It DOES NOT provide connection
pooling/management facilities, and DOES NOT implement redirects and
authentication itself.
a. {{{ HttpMethodExecutor }}} class
- a. {{{ HttpContext }}} class to keep all kinds of data related to the
execution of a request
+ a. {{{ HttpContext }}} interface to access all kinds of data related to the
execution of a request
a. {{{ HttpRequestRetryHandler }}} interface, to decide whether to retry
after a communication error
a. {{{ HttpSequenceHandler }}} interface, to generate followup requests if
required
- * implementations of retry and sequence handlers
+ * implementations of context, retry handler and sequence handler
+ a. {{{ StdHttpContext }}} class implementing {{{ HttpContext }}}
a. {{{ DefaultHttpRequestRetryHandler }}} class implementing {{{
HttpRequestRetryHandler }}} interface
a. {{{ DefaultRedirectSequenceHandler }}} class implementing {{{
HttpSequenceHandler }}}, to handle 30x responses
a. {{{ SequenceHandlerChain }}} class implementing {{{ HttpSequenceHandler
}}}, to manage a list of sequence handlers
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]