hc-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ol...@apache.org
Subject svn commit: r986952 - in /httpcomponents/httpcore/trunk: ./ httpcore/src/main/java/org/apache/http/message/ httpcore/src/test/java/org/apache/http/message/
Date Wed, 18 Aug 2010 21:24:56 GMT
Author: olegk
Date: Wed Aug 18 21:24:55 2010
New Revision: 986952

URL: http://svn.apache.org/viewvc?rev=986952&view=rev
Log:
BasicRequestLine & BasicStatusLine made Serializable

Modified:
    httpcomponents/httpcore/trunk/RELEASE_NOTES.txt
    httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicRequestLine.java
    httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicStatusLine.java
    httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/message/TestRequestLine.java
    httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/message/TestStatusLine.java

Modified: httpcomponents/httpcore/trunk/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt?rev=986952&r1=986951&r2=986952&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/RELEASE_NOTES.txt (original)
+++ httpcomponents/httpcore/trunk/RELEASE_NOTES.txt Wed Aug 18 21:24:55 2010
@@ -1,6 +1,6 @@
-Changes since 4.1-BETA1 
+Changes since 4.1-BETA1
 
-* [HTTPCORE-229] AbstractSessionInputBuffer#readLine(CharArrayBuffer) returns incorrect 
+* [HTTPCORE-229] AbstractSessionInputBuffer#readLine(CharArrayBuffer) returns incorrect
   number of characters read by the method when using non-standard HTTP element charset.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
@@ -9,7 +9,7 @@ Changes since 4.1-BETA1 
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-228] Fixed NPE in AsyncNHttpServiceHandler caused by entity enclosing requests
-  if no matching request handler can be found.  
+  if no matching request handler can be found.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-227] Fixed incorrect request / response count by non-blocking connections.
@@ -18,7 +18,8 @@ Changes since 4.1-BETA1 
 * [HTTPCORE-226] Improved compatibility of NIO components with Google Android.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* ByteArrayBuffer, CharArrayBuffer, BasicHeader, BufferedHeader, HeaderGroup made Serializable.
+* ByteArrayBuffer, CharArrayBuffer, BasicHeader, BufferedHeader, HeaderGroup, BasicRequestLine,
+  BasicStatusLine made Serializable.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 Release 4.1-BETA1
@@ -26,25 +27,25 @@ Release 4.1-BETA1
 
 This is the first BETA release of HttpCore 4.1. This release finalizes the API introduced
in the
 4.1 development branch. It also fixes a number of bugs discovered since the previous release
and
-delivers a number of performance optimizations in the blocking HTTP transport components.

+delivers a number of performance optimizations in the blocking HTTP transport components.
 The blocking HTTP transport is expected to be 5% to 10% faster compared to previous releases.
 
 * [HTTPCORE-222] Fixed Import-Package in the OSGi META-INF
-  Contributed by Willem Jiang <willem.jiang at gmail.com> 
+  Contributed by Willem Jiang <willem.jiang at gmail.com>
 
-* [HTTPCORE-177] Reduce intermediate data buffering by reading large chunks of data directly
from 
+* [HTTPCORE-177] Reduce intermediate data buffering by reading large chunks of data directly
from
   the underlying socket stream. This results in improved performance of blocking read operations.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-220] IdentityDecoder fails to detect end of stream when using file channels.
-  Contributed by Asankha C. Perera <asankha at apache.org> 
+  Contributed by Asankha C. Perera <asankha at apache.org>
 
-* [HTTPCORE-218] ChunkEncoder#write method no longer returns incorrect value if 
+* [HTTPCORE-218] ChunkEncoder#write method no longer returns incorrect value if
   the data to write is greater than the size of the internal buffer used by the encoder.
-  Contributed by Richie Jefts <rjefts at gmail.com> 
+  Contributed by Richie Jefts <rjefts at gmail.com>
 
 * [HTTPCORE-209] Added parameter to set SO_REUSEADDR on sockets bound to a local address.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-207] SocketHttp*Connection classes can leak sockets if the connection is half-closed
   Contributed by David Koski <david_koski at mac.com>
@@ -53,122 +54,122 @@ Release 4.1-ALPHA1
 -------------------
 
 This is the first public release from the 4.1 branch of HttpCore. This release adds a number
of
-new features, most notable being introduction of compatibility mode with IBM JREs and other
JREs 
+new features, most notable being introduction of compatibility mode with IBM JREs and other
JREs
 with naive (broken) implementation of SelectionKey API.
 
 Please note new classes and methods added in the 4.1 branch are still considered API unstable.
 
-* Ensure that an attempt is made to close out all active sessions gracefully in case of an
abnormal 
+* Ensure that an attempt is made to close out all active sessions gracefully in case of an
abnormal
   shutdown of the I/O reactor.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-201] OSGi Export-Package to specify release version
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-183] Added Thread-safe implementations of HttpParams and HttpProcessor - 
+* [HTTPCORE-183] Added Thread-safe implementations of HttpParams and HttpProcessor -
   SyncBasicHttpParams and ImmutableHttpProcessor classes
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-199] ContentInputStream implements InputStream#available().
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-195] Truncated chunk-coded streams can now be tolerated by catching and discarding

+* [HTTPCORE-195] Truncated chunk-coded streams can now be tolerated by catching and discarding
   TruncatedChunkException.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-155] Compatibility mode with IBM JRE and other JREs with naive (broken) implementation

+* [HTTPCORE-155] Compatibility mode with IBM JRE and other JREs with naive (broken) implementation
   of SelectionKey.
-  Contributed by Marc Beyerle <marc.beyerle at de.ibm.com> and Oleg Kalnichevski <olegk
at apache.org> 
+  Contributed by Marc Beyerle <marc.beyerle at de.ibm.com> and Oleg Kalnichevski <olegk
at apache.org>
 
-* [HTTPCORE-191] Blocking HTTP connections are now capable of correctly preserving their
internal 
-  state on SocketTimeoutExceptions, which makes it possible to continue reading from the
connection 
+* [HTTPCORE-191] Blocking HTTP connections are now capable of correctly preserving their
internal
+  state on SocketTimeoutExceptions, which makes it possible to continue reading from the
connection
   after a socket timeout.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-190] ChunkedInputStream is now capable of correctly preserving its internal state
on 
-  SocketTimeoutExceptions, which makes it possible to continue reading from the stream after
a 
+* [HTTPCORE-190] ChunkedInputStream is now capable of correctly preserving its internal state
on
+  SocketTimeoutExceptions, which makes it possible to continue reading from the stream after
a
   socket timeout.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 Release 4.0.1
 -------------------
 
-This is a patch release addressing a number of issues discovered since the 4.0 release. Users

+This is a patch release addressing a number of issues discovered since the 4.0 release. Users
 of NIO module are advised to upgrade.
 
 * [HTTPCORE-198] CONNECT request includes Host header for HTTP 1.1 connections.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-196] SSLIOSession now unwraps encrypted data more aggressively eliminating long
-  pauses when receiving data over non-blocking connections.  
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  pauses when receiving data over non-blocking connections.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-197] Fixed bug causing the non-blocking ChunkDecoder to report some data stream
as 
+* [HTTPCORE-197] Fixed bug causing the non-blocking ChunkDecoder to report some data stream
as
   truncated under special conditions.
-  Contributed by Denis Rogov <denrogov at gmail.com> and Oleg Kalnichevski <olegk
at apache.org> 
+  Contributed by Denis Rogov <denrogov at gmail.com> and Oleg Kalnichevski <olegk
at apache.org>
+
+* SSLIOSession#isAppOutputReady and SSLIOSession#isAppInputReady no longer ignore the application
+  event mask causing I/O event notifications for unrequested type of events.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* SSLIOSession#isAppOutputReady and SSLIOSession#isAppInputReady no longer ignore the application

-  event mask causing I/O event notifications for unrequested type of events.  
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+* [HTTPCORE-193] Fixed problem with SSLIOSession incorrectly handling of end-of-stream condition.
+  Contributed by Asankha C. Perera <asankha at apache.org> and Oleg Kalnichevski <olegk
at apache.org>
 
-* [HTTPCORE-193] Fixed problem with SSLIOSession incorrectly handling of end-of-stream condition.
 
-  Contributed by Asankha C. Perera <asankha at apache.org> and Oleg Kalnichevski <olegk
at apache.org> 
 
-  
 Release 4.0
 -------------------
 
-This is the first stable (GA) release of HttpCore 4.0. This release mainly improves the 
+This is the first stable (GA) release of HttpCore 4.0. This release mainly improves the
 documentation and fixes a few minor bugs reported since the previous release. HttpCore
 now comes with a complete tutorial presenting an in-depth coverage of the API.
 
 HttpCore is a set of low level HTTP transport components that can be used to build custom
-client and server side HTTP services with a minimal footprint. HttpCore supports two I/O

-models: blocking I/O model based on the classic Java I/O and non-blocking, event driven I/O

-model based on Java NIO.  The blocking I/O model may be more appropriate for data intensive,

-low latency scenarios, whereas the non-blocking model may be more appropriate for high latency

-scenarios where raw data throughput is less important than the ability to handle thousands
of 
+client and server side HTTP services with a minimal footprint. HttpCore supports two I/O
+models: blocking I/O model based on the classic Java I/O and non-blocking, event driven I/O
+model based on Java NIO.  The blocking I/O model may be more appropriate for data intensive,
+low latency scenarios, whereas the non-blocking model may be more appropriate for high latency
+scenarios where raw data throughput is less important than the ability to handle thousands
of
 simultaneous HTTP connections in a resource efficient manner.
 
-* [HTTPCORE-180] Fixed NPE in standard I/O event dispatchers when 
-  IOEventDispatch#disconnected fires before the session was fully initialized 
+* [HTTPCORE-180] Fixed NPE in standard I/O event dispatchers when
+  IOEventDispatch#disconnected fires before the session was fully initialized
   (IOEventDispatch#connected was not called).
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-175] Chunk decoders no longer accept truncated chunks as valid input.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 
 Release 4.0 Beta 3
 -------------------
 
-The third BETA version of HttpComponents Core has been released. This is a 
+The third BETA version of HttpComponents Core has been released. This is a
 maintenance release, which addresses a number of issues discovered since the
-previous release. 
+previous release.
 
 The only significant new feature is an addition of an OSGi compliant bundle
 combining HttpCore and HttpCore NIO jars.
 
-* [HTTPCORE-173] Tolerate missing closing chunk if the chunk coded content 
+* [HTTPCORE-173] Tolerate missing closing chunk if the chunk coded content
   is terminated by the end of stream (EOF) condition.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-174] Position is incremented twice in ContentLengthInputStream#skip(long) 
-  Contributed by Ildar Safarov <ildar.safarov at gmail.com> 
+* [HTTPCORE-174] Position is incremented twice in ContentLengthInputStream#skip(long)
+  Contributed by Ildar Safarov <ildar.safarov at gmail.com>
 
-* [HTTPCORE-125] OSGi bundle containing HttpCore & HttpCore NIO jars. 
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+* [HTTPCORE-125] OSGi bundle containing HttpCore & HttpCore NIO jars.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
+
+* CancelledKeyException thrown in BaseIOReactor#validate() no longer causes
+  a premature I/O reactor shutdown.
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* CancelledKeyException thrown in BaseIOReactor#validate() no longer causes 
-  a premature I/O reactor shutdown. 
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
-
-* [HTTPCORE-172] Added #close() method to SharedInputBuffer and 
-  SharedOutputBuffer. The purpose of the new method is to close the buffer 
-  in case of normal / orderly termination of the underlying HTTP connection. 
-  Use #shutdown() method to force-close the buffer in case of abnormal / 
+* [HTTPCORE-172] Added #close() method to SharedInputBuffer and
+  SharedOutputBuffer. The purpose of the new method is to close the buffer
+  in case of normal / orderly termination of the underlying HTTP connection.
+  Use #shutdown() method to force-close the buffer in case of abnormal /
   exceptional termination of the underlying connection.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-170] Fixed race condition in SharedOutputBuffer.
   Contributed by Jason Walton <Jason.Walton at alcatel-lucent.com>
@@ -178,34 +179,34 @@ combining HttpCore and HttpCore NIO jars
   channel has been registered with the selector.
   Contributed by Anders Wallgren <anders_wallgren at alum.mit.edu>
 
-* [HTTPCORE-167] Fixed handling the end of stream (EOF) condition in the #isStale() 
+* [HTTPCORE-167] Fixed handling the end of stream (EOF) condition in the #isStale()
   check of blocking HTTP connections.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-166] NIO reactors now maintain an audit log of fatal exceptions,
-  which can be used to examine the cause and problems experienced during 
+  which can be used to examine the cause and problems experienced during
   the shutdown process.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-165] Improved handling of CancelledKeyException in I/O reactors
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 
 Release 4.0 Beta 2
 -------------------
 
-The second BETA version of HttpComponents Core has been released. This release 
-adds a number of improvements to the NIO components, most notable being improved 
+The second BETA version of HttpComponents Core has been released. This release
+adds a number of improvements to the NIO components, most notable being improved
 asynchronous client side and server side protocol handlers.
 
-There has been a number of important bug fixes in HttpCore NIO module, whereas 
+There has been a number of important bug fixes in HttpCore NIO module, whereas
 HttpCore base module has had very few changes.
 
 All upstream projects dependent on HttpCore NIO are strongly advised to upgrade.
 
-* [HTTPCORE-163] Fixed AbstractMultiworkerIOReactor#execute() to correctly 
-  propagate the original I/O exception in case of an abnormal termination. 
-  Contributed by Patrick Moore <patmoore at ieee.org> 
+* [HTTPCORE-163] Fixed AbstractMultiworkerIOReactor#execute() to correctly
+  propagate the original I/O exception in case of an abnormal termination.
+  Contributed by Patrick Moore <patmoore at ieee.org>
 
 * Changed behavior of IdentityDecoder & LengthDelimitedDecoder to throw
   an IOException if data is attempted to be written beyond the length
@@ -218,7 +219,7 @@ All upstream projects dependent on HttpC
   Contributed by Sam Berlin <sberlin at apache.org>
 
 * Fixed concurrency bug in the ThrottlingHttpServerHandler protocol handler.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * Fixed bug in SharedInputBuffer that caused input events to be
   incorrectly suspended.
@@ -227,54 +228,54 @@ All upstream projects dependent on HttpC
 * [HTTPCORE-150] Entity implementation that serializes a Java object
   Contributed by Andrea Selva <selva.andrea at gmail.com>
 
-* [HTTPCORE-157] ChunkedOutputStream#flush() now behaves consistently with the 
+* [HTTPCORE-157] ChunkedOutputStream#flush() now behaves consistently with the
   specification of OutputStream#flush().
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-147] Fixed handling of requests with partially consumed content
   in ThrottlingHttpServiceHandler.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-92] ChunkEncoder splits input data larger than available space 
-  in the session output buffer into smaller chunks instead of expanding 
-  the buffer. 
-  Contributed by Andrea Selva <selva.andrea at gmail.com> and 
-  Oleg Kalnichevski <olegk at apache.org> 
+* [HTTPCORE-92] ChunkEncoder splits input data larger than available space
+  in the session output buffer into smaller chunks instead of expanding
+  the buffer.
+  Contributed by Andrea Selva <selva.andrea at gmail.com> and
+  Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-149] I/O reactors now count period of inactivity since the
-  time of the last read or write operation. Previously only read 
+  time of the last read or write operation. Previously only read
   operations resulted in timeout counter reset.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-148] Improved asynchronous server and client HTTP protocol 
+* [HTTPCORE-148] Improved asynchronous server and client HTTP protocol
   handler implementations.
-  Contributed by Sam Berlin <sberlin at gmail.com> 
+  Contributed by Sam Berlin <sberlin at gmail.com>
 
-* [HTTPCORE-143] Ensure the underlying channel is closed if the session 
+* [HTTPCORE-143] Ensure the underlying channel is closed if the session
   request is canceled or times out.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-140] Fixed timeout handling in ThrottlingHttpServiceHandler.
-  Contributed by Lorenzo Moretti <moznerol at hotmail.com> and 
-  Oleg Kalnichevski <olegk at apache.org> 
+  Contributed by Lorenzo Moretti <moznerol at hotmail.com> and
+  Oleg Kalnichevski <olegk at apache.org>
 
 
 
 Release 4.0 Beta 1
 -------------------
 
-The first BETA version of HttpComponents Core has been released. This release 
-can be considered a major milestone, as it marks the end of API instability 
+The first BETA version of HttpComponents Core has been released. This release
+can be considered a major milestone, as it marks the end of API instability
 in HttpCore. As of this release the API compatibility between minor releases
 in 4.x codeline will be maintained.
 
-This release includes several major improvements such as enhanced HTTP message 
+This release includes several major improvements such as enhanced HTTP message
 parsing API and optimized parser implementations, Java 5.0 compatibility
 for HttpCore NIO extensions. Upstream projects are strongly encouraged to
 upgrade to the latest release.
 
 The focus of the development efforts will be gradually shifting towards
-providing better test coverage, documentation and performance optimizations. 
+providing better test coverage, documentation and performance optimizations.
 
 Changelog:
 ----------
@@ -283,7 +284,7 @@ Changelog:
   invalidates the request.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-137] DefaultHttpRequestFactory extended to support all methods 
+* [HTTPCORE-137] DefaultHttpRequestFactory extended to support all methods
   specified in RFC 2616 (except CONNECT).
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
@@ -293,7 +294,7 @@ Changelog:
 * [HTTPCORE-134] all serialVersionUID attributes are private
   Contributed by Roland Weber <rolandw at apache.org>
 
-* [HTTPCORE-133] Clone support for basic HTTP message elements and 
+* [HTTPCORE-133] Clone support for basic HTTP message elements and
   non-streaming entities.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
@@ -313,7 +314,7 @@ Changelog:
 * HttpCore NIO ported to Java 1.5.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-130] Fixed over-synchronization bug leading to a thread deadlock 
+* [HTTPCORE-130] Fixed over-synchronization bug leading to a thread deadlock
   condition in SSL IOEventDispatch implementations.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
@@ -324,16 +325,16 @@ Changelog:
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-126] Improved HTTP message parsing API and optimized parser
-  implementations. 
+  implementations.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* Do not include "Connection: close" to 500 responses per default. 
+* Do not include "Connection: close" to 500 responses per default.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-121] new interface HeaderElementIterator
   Contributed by Andrea Selva <selva.andrea at gmail.com>
 
-* [HTTPCORE-123] Fixed problem with SSLSession losing buffered data, if the 
+* [HTTPCORE-123] Fixed problem with SSLSession losing buffered data, if the
   connection has been closed by the peer.
   Contributed by Risto Reinpõld <risto.reinpold at gmail.com>
 
@@ -349,18 +350,18 @@ Based on the improved API, it is now pos
 with HttpComponents Core.
 
 HttpCore is now feature complete and we are planning to freeze the public APIs
-as of next release (BETA1). 
+as of next release (BETA1).
 
 * [HTTPCORE-120] new interface HeaderIterator, available from HttpMessage
   Contributed by Roland Weber <rolandw at apache.org>
 
 * [HTTPCORE-118] Purge closed sessions prior to opening new ones. This should
   reduce chances of running out of memory when opening and closing lots of
-  NIO connections in a tight loop. 
+  NIO connections in a tight loop.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-117] Fixed bug preventing protocol handlers from closing timed out
-  NIO connection when pending output (output session buffer is not empty). 
+  NIO connection when pending output (output session buffer is not empty).
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-86] Allow for optional handling of runtime exceptions
@@ -380,7 +381,7 @@ as of next release (BETA1). 
   Contributed by Roland Weber <rolandw at apache.org>
 
 * [HTTPCORE-114]: Fixed incorrect handling of the end-of-stream condition
-  in SSLIOSession. 
+  in SSLIOSession.
   Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-110] refactored message parsing and formatting logic
@@ -390,7 +391,7 @@ as of next release (BETA1). 
   non-blocking client protocol handlers.
   Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-108] Close all channels registered with the I/O reactor during 
+* [HTTPCORE-108] Close all channels registered with the I/O reactor during
   shutdown. Fixed the problem with DefaultListeningIOReactor not releasing
   socket ports until JVM is restarted.
   Oleg Kalnichevski <olegk at apache.org>
@@ -404,8 +405,8 @@ as of next release (BETA1). 
 * [HTTPCORE-100] revised HttpContext hierarchy
   Contributed by Roland Weber <rolandw at apache.org>
 
-* [HTTPCORE-103] NIO connections now attempt to consume all available session 
-  data while parsing HTTP messages. This can  potentially improve performance 
+* [HTTPCORE-103] NIO connections now attempt to consume all available session
+  data while parsing HTTP messages. This can  potentially improve performance
   of non-blocking SSL connections.
   Contributed by Steffen Pingel <spingel at limewire.com>
 
@@ -413,22 +414,22 @@ as of next release (BETA1). 
   Contributed by Steffen Pingel <spingel at limewire.com>
 
 * [HTTPCORE-21] Transport and connection metrics
-  Contributed by Andrea Selva <selva.andre at gmail.com> and 
+  Contributed by Andrea Selva <selva.andre at gmail.com> and
   Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-91] new interceptor RequestDate, renamed constants in protocol.HTTP
   Contributed by Roland Weber <rolandw at apache.org>
 
 * [HTTPCORE-90] Version detection based on build-time properties
-  Contributed by Oleg Kalnichevski <olegk at apache.org> and 
+  Contributed by Oleg Kalnichevski <olegk at apache.org> and
   Roland Weber <rolandw at apache.org>
 
-* [HTTPCORE-88] Added convenience methods to HttpRequestInterceptorList, 
+* [HTTPCORE-88] Added convenience methods to HttpRequestInterceptorList,
   HttpResponseInterceptorList interfaces
   Contributed by Andrea Selva <selva.andre at gmail.com>
 
-* [HTTPCORE-89]: Fixed bug in DefaultConnectingIOReactor causing incorrect 
-  handling of local (immediate) connections on some platforms (affects Sun 
+* [HTTPCORE-89]: Fixed bug in DefaultConnectingIOReactor causing incorrect
+  handling of local (immediate) connections on some platforms (affects Sun
   Solaris 2.9 / Sparc and likely other Solaris 2.x platforms)
   Contributed by Sam Berlin <sberlin at gmail.com>
 
@@ -436,14 +437,14 @@ Release 4.0 Alpha 5
 -------------------
 
 The fifth ALPHA version of HttpComponents Core has been released. This release
-delivers a number of incremental improvements across the board in all modules 
-and adds several performance oriented features such as ability to transfer 
-data directly between a file and a socket channels. 
+delivers a number of incremental improvements across the board in all modules
+and adds several performance oriented features such as ability to transfer
+data directly between a file and a socket channels.
 
-HttpCore is almost fully feature complete now and we are likely to freeze 
-the public APIs as of next release (BETA1). 
+HttpCore is almost fully feature complete now and we are likely to freeze
+the public APIs as of next release (BETA1).
 
-* [HTTPCORE-87] RuntimeExcpetions thrown in I/O worker threads are now correctly 
+* [HTTPCORE-87] RuntimeExcpetions thrown in I/O worker threads are now correctly
   propagated to the I/O reactor.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
@@ -452,20 +453,20 @@ the public APIs as of next release (BETA
 
 * [HTTPCORE-63]: Made I/O select interval configurable for all default I/O
   reactor implementations.
-  Contributed by Oleg Kalnichevski <olegk at apache.org> and 
+  Contributed by Oleg Kalnichevski <olegk at apache.org> and
   Anders Wallgren <anders_wallgren at alum.mit.edu>
 
-* [HTTPCORE-82]: Revised linking of HttpParams to reduce potential for misuse. 
+* [HTTPCORE-82]: Revised linking of HttpParams to reduce potential for misuse.
   Method #setDefaults() removed from the HttpParams interface.
   Contributed by Roland Weber <rolandw at apache.org>
 
-* [HTTPCORE-81]: Maximum line length and maximum header counts parameters are now 
+* [HTTPCORE-81]: Maximum line length and maximum header counts parameters are now
   correctly enforced in both base and NIO modules. Fixed maximum line length check
   when parsing folded header lines.
   Contributed by Steffen Pingel <spingel at limewire.com>
 
-* Added HTTP client handler implementation that allocates fixed size content 
-  buffers upon initialization and is capable of throttling the rate of I/O events 
+* Added HTTP client handler implementation that allocates fixed size content
+  buffers upon initialization and is capable of throttling the rate of I/O events
   in order to make sure those content buffers do not get overflown.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
@@ -473,73 +474,73 @@ the public APIs as of next release (BETA
   I/O sessions (primarily needed to terminate hung SSL connections).
   Contributed by Sandeep Tamhankar <sandman at electric-cloud.com>
 
-* [HTTPCORE-78]: Added ByteBufferAllocator interface that can be used to apply 
+* [HTTPCORE-78]: Added ByteBufferAllocator interface that can be used to apply
   different ByteArray allocation strategies to session and content buffers.
-  Use heap bound implementation for short-lived or variable in length (requiring 
+  Use heap bound implementation for short-lived or variable in length (requiring
   frequent content re-allocation) buffers.
   Contributed by Steffen Pingel <spingel at limewire.com>
 
-* [HTTPCORE-77]: The result of CharsetDecoder#decode() and CharsetEncoder#encode() 
-  was not checked for errors resulting in an infinite loop in 
-  SessionInputBuffer#readLine() and SessionOutputBuffer#writeLine() 
+* [HTTPCORE-77]: The result of CharsetDecoder#decode() and CharsetEncoder#encode()
+  was not checked for errors resulting in an infinite loop in
+  SessionInputBuffer#readLine() and SessionOutputBuffer#writeLine()
   when malformed characters were processed.
   Contributed by Steffen Pingel <spingel at limewire.com>
 
 * [HTTPCORE-71]: HttpParams can be copied.
   Contributed by Roland Weber <rolandw at apache.org>
 
-* [HTTPCORE-75]: DefaultNHttpServerConnection and DefaultNHttpClientConnection 
-  now correctly terminate the underlying I/O session when closed. 
-  BufferingHttpServiceHandler now correctly applies connection keep-alive 
+* [HTTPCORE-75]: DefaultNHttpServerConnection and DefaultNHttpClientConnection
+  now correctly terminate the underlying I/O session when closed.
+  BufferingHttpServiceHandler now correctly applies connection keep-alive
   strategy when sending a response with no content body.
   Contributed by Steffen Pingel <spingel at limewire.com>
 
-* [HTTPCORE-73]: Fixed bug preventing NHttpServiceHandler#responseReady and 
-  NHttpClientHandler#requestReady events from being fired if the HTTP message 
+* [HTTPCORE-73]: Fixed bug preventing NHttpServiceHandler#responseReady and
+  NHttpClientHandler#requestReady events from being fired if the HTTP message
   has no content body.
   Contributed by Steffen Pingel <spingel at limewire.com>
 
 * [HTTPCORE-67]: Improved event listener interface
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-43]: Support for FileChannel#transferFrom() and 
-  FileChannel#transferTo() methods. Direct coping from and to FileChannel is 
+* [HTTPCORE-43]: Support for FileChannel#transferFrom() and
+  FileChannel#transferTo() methods. Direct coping from and to FileChannel is
   expected to improve performance of file bound operations
   Contributed by Andrea Selva <selva.andre at gmail.com>
 
 * [HTTPCORE-66]: Fixed handling of HTTP HEAD methods
-  Contributed by Steffen Pingel <spingel at limewire.com> and 
+  Contributed by Steffen Pingel <spingel at limewire.com> and
   Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-58]: NIO HTTP connections changed to throw checked 
-  ConnectionClosedException instead of unchecked IllegalStateException when 
+* [HTTPCORE-58]: NIO HTTP connections changed to throw checked
+  ConnectionClosedException instead of unchecked IllegalStateException when
   an attempt is made to perform an I/O operation on a closed conection
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-56]: DefaultConnectingIOReactor no longer terminates due to a
   CancelledKeyException, if a session request gets canceled before selection
-  key is fully initialized. 
+  key is fully initialized.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 Release 4.0 Alpha 4
 -------------------
 
-The forth ALPHA version of HttpComponents Core has been released. 
-The ALPHA4 release fixes a number of bugs and adds a number of 
-improvements to HttpCore base and HttpCore NIO extensions. 
-HttpCore NIO can be used to build HTTP services intended to handle 
-thousands of simultaneous connections with a small number of I/O 
-threads. This release also introduces NIOSSL extensions that can be 
-used to extend HttpCore non-blocking transport components with 
+The forth ALPHA version of HttpComponents Core has been released.
+The ALPHA4 release fixes a number of bugs and adds a number of
+improvements to HttpCore base and HttpCore NIO extensions.
+HttpCore NIO can be used to build HTTP services intended to handle
+thousands of simultaneous connections with a small number of I/O
+threads. This release also introduces NIOSSL extensions that can be
+used to extend HttpCore non-blocking transport components with
 ability to transparently encrypt data in transit using SSL/TLS protocol.
 
-* [HTTPCORE-49]: DefaultConnectingIOReactor can now correctly handle 
-  unresolved socket addresses. It no longer terminates with the 
+* [HTTPCORE-49]: DefaultConnectingIOReactor can now correctly handle
+  unresolved socket addresses. It no longer terminates with the
   UnresolvedAddressException runtime exception.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-42]: Added server side API for the expectation verification. 
-  Improved support for the 'expect: continue' handshake in HttpCore and 
+* [HTTPCORE-42]: Added server side API for the expectation verification.
+  Improved support for the 'expect: continue' handshake in HttpCore and
   HttpCore NIO.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
@@ -562,21 +563,21 @@ ability to transparently encrypt data in
   parameter.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-36]: Fixed #setHandlers() method and matching of request URIs 
+* [HTTPCORE-36]: Fixed #setHandlers() method and matching of request URIs
   with a query part in HttpRequestHandlerRegistry
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-28]: DefaultConnectingIOReactor now maintains a queue of connect 
+* [HTTPCORE-28]: DefaultConnectingIOReactor now maintains a queue of connect
   requests and registers new sessions with the selector on the I/O thread.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-29] DefaultConnectingIOReactor changed to ensure IOExceptions 
-  are correctly propagated to the caller, if an exception is thrown while 
+* [HTTPCORE-29] DefaultConnectingIOReactor changed to ensure IOExceptions
+  are correctly propagated to the caller, if an exception is thrown while
   initializing a newly connected socket.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-24] Fixed bug in non-blocking connection implementations, which 
-  prevented the session buffer from being correctly flushed when the content 
+* [HTTPCORE-24] Fixed bug in non-blocking connection implementations, which
+  prevented the session buffer from being correctly flushed when the content
   coding process has been completed.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
@@ -586,26 +587,26 @@ ability to transparently encrypt data in
 Release 4.0 Alpha 3
 -------------------
 
-The third ALPHA version of HttpCore has been released. The ALPHA3 release 
-includes a number of API optimizations and improvements and introduces a set 
-of NIO extensions to the HttpCore API. NIO extensions can be used to build 
-HTTP services intended to handle thousands of simultaneous connections with 
+The third ALPHA version of HttpCore has been released. The ALPHA3 release
+includes a number of API optimizations and improvements and introduces a set
+of NIO extensions to the HttpCore API. NIO extensions can be used to build
+HTTP services intended to handle thousands of simultaneous connections with
 a small number of I/O threads.
 
-* [HTTPCORE-15] Provided a interafce to access IP address of the local and 
+* [HTTPCORE-15] Provided a interafce to access IP address of the local and
   remote end points.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [ HTTPCORE-14] Scheme, SocketFactory and SecureSocketFactory moved to 
+* [ HTTPCORE-14] Scheme, SocketFactory and SecureSocketFactory moved to
   HttpClient. Decoupled HttpHost and Scheme.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-13] Refactored HttpProcessor interface and related impl classes 
+* [HTTPCORE-13] Refactored HttpProcessor interface and related impl classes
   Contributed by Roland Weber <rolandw at apache.org>
 
 * [HTTPCORE-11] Client connection interface no longer defines a specific
-  method to open a connection. HTTP connections can now represent any 
-  abstract I/O transport such as those based on NIO API. 
+  method to open a connection. HTTP connections can now represent any
+  abstract I/O transport such as those based on NIO API.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 * [HTTPCORE-10] Non-blocking (async) client side I/O transport based on NIO.
@@ -614,28 +615,28 @@ a small number of I/O threads.
 * [HTTPCORE-9] Non-blocking (async) server side I/O transport based on NIO.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-7] ConnectionReuseStrategy interface changed to allow access 
+* [HTTPCORE-7] ConnectionReuseStrategy interface changed to allow access
   to the HTTP execution context.
   Contributed by Roland Weber <rolandw at apache.org>
 
-* [HTTPCORE-6] Header implementation allowing for performance short-cuts 
+* [HTTPCORE-6] Header implementation allowing for performance short-cuts
   when serializing and deserializing HTTP headers.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
-* [HTTPCORE-5] Header, HeaderElement, NameValuePair, RequestLine, StatusLine, 
-  HttpVersion changed to interfaces. API no longer contains any parsing and 
-  formatting code and does not imply any specific physical representation of 
+* [HTTPCORE-5] Header, HeaderElement, NameValuePair, RequestLine, StatusLine,
+  HttpVersion changed to interfaces. API no longer contains any parsing and
+  formatting code and does not imply any specific physical representation of
   HTTP messages and their elements.
   Contributed by Oleg Kalnichevski <olegk at apache.org>
 
 Release 4.0 Alpha 2
 -------------------
-This is a maintenance release that mostly fixes minor problems found since the 
-previous release. The upstream projects are strongly encouraged use this 
+This is a maintenance release that mostly fixes minor problems found since the
+previous release. The upstream projects are strongly encouraged use this
 release as a dependency while HttpCore undergoes another round of reviews
 and optimization in the SVN trunk
 
-Changelog: 
+Changelog:
 ---------
 * [HTTPCORE-4] optional header and line length limits to contain OOME risks
   Contributed by Oleg Kalnichevski <olegk at apache.org>
@@ -643,9 +644,9 @@ Changelog: 
 Release 4.0 Alpha 1
 -------------------
 This release represents a complete redesign of the Jakarta Commons HttpClient
-3.x API and a significant rewrite of the core HTTP components derived from 
+3.x API and a significant rewrite of the core HTTP components derived from
 HttpClient 3.0 code base.
 
 These components will form the foundation of the future releases of Jakarta
-HttpClient and can also be used separately to build custom client- and 
+HttpClient and can also be used separately to build custom client- and
 server-side HTTP services.

Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicRequestLine.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicRequestLine.java?rev=986952&r1=986951&r2=986952&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicRequestLine.java
(original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicRequestLine.java
Wed Aug 18 21:24:55 2010
@@ -27,6 +27,8 @@
 
 package org.apache.http.message;
 
+import java.io.Serializable;
+
 import org.apache.http.ProtocolVersion;
 import org.apache.http.RequestLine;
 
@@ -35,7 +37,9 @@ import org.apache.http.RequestLine;
  *
  * @since 4.0
  */
-public class BasicRequestLine implements RequestLine, Cloneable {
+public class BasicRequestLine implements RequestLine, Cloneable, Serializable {
+
+    private static final long serialVersionUID = 2810581718468737193L;
 
     private final ProtocolVersion protoversion;
     private final String method;

Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicStatusLine.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicStatusLine.java?rev=986952&r1=986951&r2=986952&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicStatusLine.java
(original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicStatusLine.java
Wed Aug 18 21:24:55 2010
@@ -27,6 +27,8 @@
 
 package org.apache.http.message;
 
+import java.io.Serializable;
+
 import org.apache.http.ProtocolVersion;
 import org.apache.http.StatusLine;
 
@@ -37,7 +39,9 @@ import org.apache.http.StatusLine;
  *
  * @since 4.0
  */
-public class BasicStatusLine implements StatusLine, Cloneable {
+public class BasicStatusLine implements StatusLine, Cloneable, Serializable {
+
+    private static final long serialVersionUID = -2443303766890459269L;
 
     // ----------------------------------------------------- Instance Variables
 

Modified: httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/message/TestRequestLine.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/message/TestRequestLine.java?rev=986952&r1=986951&r2=986952&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/message/TestRequestLine.java
(original)
+++ httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/message/TestRequestLine.java
Wed Aug 18 21:24:55 2010
@@ -27,6 +27,11 @@
 
 package org.apache.http.message;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
 import junit.framework.TestCase;
 
 import org.apache.http.HttpVersion;
@@ -76,4 +81,19 @@ public class TestRequestLine extends Tes
         assertEquals(orig.getProtocolVersion(), clone.getProtocolVersion());
     }
 
+    public void testSerialization() throws Exception {
+        BasicRequestLine orig = new BasicRequestLine("GET", "/stuff", HttpVersion.HTTP_1_1);
+        ByteArrayOutputStream outbuffer = new ByteArrayOutputStream();
+        ObjectOutputStream outstream = new ObjectOutputStream(outbuffer);
+        outstream.writeObject(orig);
+        outstream.close();
+        byte[] raw = outbuffer.toByteArray();
+        ByteArrayInputStream inbuffer = new ByteArrayInputStream(raw);
+        ObjectInputStream instream = new ObjectInputStream(inbuffer);
+        BasicRequestLine clone = (BasicRequestLine) instream.readObject();
+        assertEquals(orig.getMethod(), clone.getMethod());
+        assertEquals(orig.getUri(), clone.getUri());
+        assertEquals(orig.getProtocolVersion(), clone.getProtocolVersion());
+    }
+
 }

Modified: httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/message/TestStatusLine.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/message/TestStatusLine.java?rev=986952&r1=986951&r2=986952&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/message/TestStatusLine.java
(original)
+++ httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/message/TestStatusLine.java
Wed Aug 18 21:24:55 2010
@@ -27,6 +27,11 @@
 
 package org.apache.http.message;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
 import junit.framework.TestCase;
 
 import org.apache.http.HttpStatus;
@@ -82,4 +87,19 @@ public class TestStatusLine extends Test
         assertEquals(orig.getProtocolVersion(), clone.getProtocolVersion());
     }
 
+    public void testSerialization() throws Exception {
+        BasicStatusLine orig = new BasicStatusLine(HttpVersion.HTTP_1_1, HttpStatus.SC_OK,
"OK");
+        ByteArrayOutputStream outbuffer = new ByteArrayOutputStream();
+        ObjectOutputStream outstream = new ObjectOutputStream(outbuffer);
+        outstream.writeObject(orig);
+        outstream.close();
+        byte[] raw = outbuffer.toByteArray();
+        ByteArrayInputStream inbuffer = new ByteArrayInputStream(raw);
+        ObjectInputStream instream = new ObjectInputStream(inbuffer);
+        BasicStatusLine clone = (BasicStatusLine) instream.readObject();
+        assertEquals(orig.getReasonPhrase(), clone.getReasonPhrase());
+        assertEquals(orig.getStatusCode(), clone.getStatusCode());
+        assertEquals(orig.getProtocolVersion(), clone.getProtocolVersion());
+    }
+
 }



Mime
View raw message