Date: 2005-01-26T11:23:12
Editor: RolandWeber
Wiki: Jakarta-HttpClient Wiki
Page: HttpClientApiRedesign
URL: http://wiki.apache.org/jakarta-httpclient/HttpClientApiRedesign
HttpEntity and HttpMessage
Change Log:
------------------------------------------------------------------------------
@@ -42,19 +42,28 @@
* Http request and Http response interfaces as defined in RFC 2616 and their
generic implementation
- a. {{{ HttpRequest }}} interface
- a. {{{ HttpResponse }}} interface
- a. {{{ HttpEntityEnclosingRequest }}} interface
+ a. {{{ HttpMessage }}} interface
+ a. {{{ HttpRequest }}} interface extending {{{ HttpMessage }}}
+ a. {{{ HttpResponse }}} interface extending {{{ HttpMessage }}}
+ a. {{{ HttpEntityEnclosingMessage }}} interface
a. {{{ HttpRequestParams }}} class
- a. {{{ BasicHttpRequest }}} class implementing {{{ HttpRequest }}} interface
- a. {{{ BasicHttpResponse }}} class implementing {{{ HttpResponse }}}
interface
- a. {{{ BasicHttpEntityEnclosingRequest }}} class implementing {{{
HttpEntityEnclosingRequest }}} interface
+ a. {{{ BasicHttpMessage }}} class implementing {{{ HttpMessage }}} interface
+ a. {{{ BasicHttpRequest }}} class extending {{{ BasicHttpMessage }}} and
implementing {{{ HttpRequest }}}
+ a. {{{ BasicHttpResponse }}} class extending {{{ BasicHttpMessage }}} and
implementing {{{ HttpResponse }}}, {{{ HttpEntityEnclosingMessage }}}
+ a. {{{ BasicHttpEntityEnclosingRequest }}} class extending {{{
BasicHttpRequest }}} and implementing {{{ HttpEntityEnclosingMessage }}}
* Http parser interface and the RFC 2616 compliant implementation of it. The
parser only has to be able to parse well formed Http requests and responses.
a. {{{ HttpParser }}} interface
a. {{{ NIOHttpParser }}} class based on NIO (makes use of {{{ SocketChannel
}}} and {{{ CharBuffer }}} )
+ * Http entity interfaces for sending and receiving entities in Http messages
+
+ a. {{{ HttpEntity }}} interface
+ a. {{{ HttpIncomingEntity }}} interface extending {{{ HttpEntity }}}
interface
+ a. {{{ HttpOutgoingEntity }}} interface extending {{{ HttpEntity }}}
interface
+ a. {{{ BasicHttpEntity }}} class implementing {{{ HttpEntity }}} interface
+
* Http connection interface including a simple dependency mechanism to inject
an Http parser implementation, and a generic implementation of Http connection
a. {{{ HttpConnection }}} interface. Defines basic read/write operations,
provides Http parser plugin mechanism
@@ -88,6 +97,13 @@
a. {{{ HeadRequest }}} class implementing {{{ HttpRequest }}} interface
a. {{{ TraceRequest }}} class implementing {{{ HttpRequest }}} interface
+ * Frequently used Http entity types
+
+ a. {{{ StringEntity }}} class extending {{{ BasicHttpEntity }}} and
implementing {{{ HttpIncomingEntity }}}, {{{ HttpOutgoingEntity }}}
+ a. {{{ ByteArrayEntity }}} class extending {{{ BasicHttpEntity }}} and
implementing {{{ HttpIncomingEntity }}}, {{{ HttpOutgoingEntity }}}
+ a. {{{ StreamIcEntity }}} class extending {{{ BasicHttpEntity }}} and
implementing {{{ HttpIncomingEntity }}} [[BR]] for piping received data into an
output stream
+ a. {{{ StreamOgEntity }}} class extending {{{ BasicHttpEntity }}} and
implementing {{{ HttpOutgoingEntity }}} [[BR]] for sending data available from
an input stream
+
* Basic Http proxy support
a. {{{ ProxyConnectRequest }}} class implementing {{{ HttpRequest }}}
interface
@@ -266,6 +282,13 @@
a. {{{ HttpHostParams }}} class
a. {{{ HostConfig }}} class
a. {{{ HttpClient }}} class. Supports a simple dependency injection
mechanism to inject {{{ HttpConnectionManager }}}, {{{ AuthChallengeHandler
}}}, {{{ RedirectHandler }}}, {{{ HttpFilter }}} and possibly other
dependencies.
+
+ * Complex entity types, based on commons-codec
+
+ a. {{{ FormDataEntity }}} class extending {{{ BasicHttpEntity }}} and
implementing {{{ HttpIncomingEntity }}}, {{{ HttpOutgoingEntity }}}
+ a. {{{ MultipartIcEntity }}} class extending {{{ BasicHttpEntity }}} and
implementing {{{ HttpIncomingEntity }}}
+ a. {{{ MultipartOgEntity }}} class extending {{{ BasicHttpEntity }}} and
implementing {{{ HttpOutgoingEntity }}}
+
== http-client-3-compat ==
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]