Dear Wiki user, You have subscribed to a wiki page or wiki category on "Jakarta-httpclient Wiki" for change notification.
The following page has been changed by OlegKalnichevski: http://wiki.apache.org/jakarta-httpclient/HttpClientApiRedesign ------------------------------------------------------------------------------ This is a purely logical distinction. The below listed components may be distributed separately or as a part of a larger package (jar). - == http-common == + == http-core == Package name: '''org.apache.http''' depends on + * Java 1.3 - * Java 1.4 compile time; Java 1.3 runtime - - Public interfaces and classes (API) require Java 1.2 only - - Impl classes based on the old IO model require Java 1.3 - - Impl classes based on the new IO (NIO) model require Java 1.4 provides @@ -72, +66 @@ a. {{{ HttpDataTransmitter }}} interface a. {{{ HttpDataReceiver }}} interface + a. {{{ SocketHttpDataTransmitter }}} class implementing the {{{ HttpDataTransmitter }}} interface + a. {{{ SocketHttpDataReceiver }}} class implementing {{{ HttpDataReceiver }}} interface - a. {{{ NIOHttpDataTransmitter }}} class implementing {{{ HttpDataTransmitter }}} interface. This class makes use of {{{ SocketChannel }}}, {{{ ByteBuffer }}} and {{{ CharBuffer }}} NIO specific classes. - a. {{{ NIOHttpDataReceiver }}} class implementing {{{ HttpDataReceiver }}} interface. This class makes use of {{{ SocketChannel }}}, {{{ ByteBuffer }}} and {{{ CharBuffer }}} NIO specific classes. - a. {{{ OldIOHttpDataTransmitter }}} class implementing {{{ HttpDataTransmitter }}} interface. This class makes use of {{{ Socket }}} and {{{ OutputStream }}} classes. - a. {{{ OldIOHttpDataReceiver }}} class implementing {{{ HttpDataReceiver }}} interface. This class makes use of {{{ Socket }}} and {{{ InputStream }}} classes. * Http entity interfaces for sending and receiving entities in Http messages @@ -91, +83 @@ a. {{{ HttpConnection }}} interface. Defines basic properties of a HTTP connection a. {{{ HttpClientConnection }}} interface extends {{{ HttpConnection }}}. Sends Http requests / receives Http responses a. {{{ HttpServerConnection }}} interface extends {{{ HttpConnection }}}. Receives Http requests / sends Http responses - a. {{{ DefaultHttpClientConnection }}} class implements {{{ HttpClientConnection }}}. This class uses NIO based data transmitter and receiver if NIO is supported, otherwise old IO based data transmitter and receiver are used - a. {{{ DefaultHttpServerConnection }}} class implements {{{ HttpServerConnection }}}. This class uses NIO based data transmitter and receiver if NIO is supported, otherwise old IO based data transmitter and receiver are used + a. {{{ DefaultHttpClientConnection }}} class implements {{{ HttpClientConnection }}} + a. {{{ DefaultHttpServerConnection }}} class implements {{{ HttpServerConnection }}} a. {{{ HttpHost }}} class - * Input / output chunking streams + * Input / output classes - a. {{{ ChunkedInputStream }}} class + a. {{{ ChunkedInputStream }}} class represents an input stream whose content is chunk-coded + a. {{{ ChunkedOutputStream }}} class represents an output stream whose content is chunk-coded + a. {{{ ContentLengthInputStream }}} class represents an input stream whose content is delimited with a length value + a. {{{ ContentLengthOutputStream }}} class represents an output stream whose content is delimited with a length value - a. {{{ ChunkedOutputStream }}} class + a. {{{ IdentityOutputStream }}} class * Http filter interface allowing for request pre-processing and response post-processing without having to subclass a given {{{ HttpRequest }}} or {{{ HttpResponse }}} implementing classes @@ -120, +115 @@ * Most common Http request types: GET, POST, PUT, HEAD, TRACE - a. {{{ GetRequest }}} class implementing {{{ HttpRequest }}} interface + a. {{{ HttpGet }}} class implementing {{{ HttpRequest }}} interface - a. {{{ PostRequest }}} class implementing {{{ HttpRequest }}} and {{{ HttpEntityEnclosingRequest }}} interfaces + a. {{{ HttpPost }}} class implementing {{{ HttpRequest }}} and {{{ HttpEntityEnclosingRequest }}} interfaces - a. {{{ PutRequest }}} class implementing {{{ HttpRequest }}} and {{{ HttpEntityEnclosingRequest }}} interfaces + a. {{{ HttpPut }}} class implementing {{{ HttpRequest }}} and {{{ HttpEntityEnclosingRequest }}} interfaces - a. {{{ HeadRequest }}} class implementing {{{ HttpRequest }}} interface + a. {{{ HttpHead }}} class implementing {{{ HttpRequest }}} interface - a. {{{ TraceRequest }}} class implementing {{{ HttpRequest }}} interface + a. {{{ HttpTrace }}} class implementing {{{ HttpRequest }}} interface * Basic Http proxy support a. {{{ HttpConnectRequest }}} class implementing {{{ HttpRequest }}} interface - a. {{{ HttpProxyHost }}} class + a. {{{ ProxyHost }}} class * Http proxy chain support @@ -137, +132 @@ a. {{{ SimpleProxyChain }}} class implementing {{{ ProxyChain }}}. List of {{{ HttpProxyHost }}} objects. a. {{{ SingleProxy }}} class implementing {{{ ProxyChain }}}. For use when a single proxy server is used. + == http-nio == + + Package name: '''org.apache.http.nio''' + + depends on + + * Java 1.4 + * http-core + + provides + + * Non-blocking Http client and server connections (tbd) + == http-cookie == possible package name: '''org.apache.http.cookie''' depends on - * Java 1.4 (* see notes) - * commons-logging (** see notes) + * Java 1.3 + * http-core provides @@ -173, +181 @@ depends on + * Java 1.3 - * Java 1.4 (* see notes) - * commons-logging (** see notes) * commons-codec - * http-common + * http-core provides @@ -209, +216 @@ depends on - * Java 1.4 (* see notes) + * Java 1.4 - * commons-logging (** see notes) + * commons-logging (* see notes) - * http-common + * http-core * commons-pool (really needed? vote?) provides @@ -232, +239 @@ depends on - * Java 1.4 (* see notes) + * Java 1.4 - * commons-logging (** see notes) + * commons-logging (* see notes) - * http-common + * http-core * http-conn provides @@ -294, +301 @@ depends on - * Java 1.4 (* see notes) + * Java 1.4 - * commons-logging (** see notes) + * commons-logging (* see notes) * commons-codec - * http-common + * http-core * http-cookie * http-auth * http-conn @@ -322, +329 @@ depends on - * Java 1.4 (* see notes) + * Java 1.4 * commons-logging * commons-codec - * http-common + * http-core * http-cookie * http-auth * http-conn @@ -339, +346 @@ depends on - * Java 1.4 (* see notes) + * Java 1.4 - * commons-logging (** see notes) + * commons-logging (* see notes) * commons-codec - * http-common + * http-core * http-cookie * http-auth * http-client - - ideas? - - == http-infra == - - Server side Http foundation classes, which can be used to implement simple embeddable HTTP servers or reverse proxies. Provided there is a healthy community around it. - - depends on - - * Java 1.4 (* see notes) - * commons-logging (** see notes) - * commons-codec - * http-common - * http-cookie - * http-auth - * geronimo-network (appropriate? better options? shall we implement our own network protocol stack? vote?) ideas? @@ -369, +360 @@ This chapter is for detailed explanatory notes that would mess up the component descriptions if written inline. - == * JVM requirement == - - Based on the results of the user poll, new components will require Java 1.4 or later. At the same time we will make an effort to minimize the use of Java 1.4 specific features in public interfaces and classes used by those interfaces in order to provide an easier path to port the components to Java 1.3 or J2ME platforms. - - == ** Logging toolkit == + == * Logging toolkit == Avoid dependency on a logging toolkit whenever technically feasible. The rationale behind trying to avoid dependency on a logging framework is to keep the component reusable by projects that have already standardized on a certain logging framework. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
