You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2014/11/26 21:28:58 UTC

svn commit: r1641927 [2/2] - in /httpcomponents/httpcore/trunk: httpcore-nio/src/main/java/org/apache/http/impl/nio/ httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/ httpcore-nio/src/main/java/org/apache/http/nio/ httpcore-nio/src/test/java/...

Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/io/DefaultHttpResponseWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/io/DefaultHttpResponseWriter.java?rev=1641927&r1=1641926&r2=1641927&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/io/DefaultHttpResponseWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/io/DefaultHttpResponseWriter.java Wed Nov 26 20:28:57 2014
@@ -31,11 +31,12 @@ import java.io.IOException;
 
 import org.apache.http.HttpResponse;
 import org.apache.http.annotation.NotThreadSafe;
-import org.apache.http.io.SessionOutputBuffer;
 import org.apache.http.message.LineFormatter;
+import org.apache.http.util.CharArrayBuffer;
 
 /**
- * HTTP response writer that serializes its output to an instance of {@link SessionOutputBuffer}.
+ * HTTP response writer that serializes its output to an instance of
+ * {@link org.apache.http.io.SessionOutputBuffer}.
  *
  * @since 4.3
  */
@@ -45,25 +46,22 @@ public class DefaultHttpResponseWriter e
     /**
      * Creates an instance of DefaultHttpResponseWriter.
      *
-     * @param buffer the session output buffer.
      * @param formatter the line formatter If {@code null}
      *  {@link org.apache.http.message.BasicLineFormatter#INSTANCE}
      *   will be used.
      */
-    public DefaultHttpResponseWriter(
-            final SessionOutputBuffer buffer,
-            final LineFormatter formatter) {
-        super(buffer, formatter);
+    public DefaultHttpResponseWriter(final LineFormatter formatter) {
+        super(formatter);
     }
 
-    public DefaultHttpResponseWriter(final SessionOutputBuffer buffer) {
-        super(buffer, null);
+    public DefaultHttpResponseWriter() {
+        super(null);
     }
 
     @Override
-    protected void writeHeadLine(final HttpResponse message) throws IOException {
-        lineFormatter.formatStatusLine(this.lineBuf, message.getStatusLine());
-        this.sessionBuffer.writeLine(this.lineBuf);
+    protected void writeHeadLine(
+            final HttpResponse message, final CharArrayBuffer lineBuf) throws IOException {
+        getLineFormatter().formatStatusLine(lineBuf, message.getStatusLine());
     }
 
 }

Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/io/DefaultHttpResponseWriterFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/io/DefaultHttpResponseWriterFactory.java?rev=1641927&r1=1641926&r2=1641927&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/io/DefaultHttpResponseWriterFactory.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/io/DefaultHttpResponseWriterFactory.java Wed Nov 26 20:28:57 2014
@@ -31,7 +31,6 @@ import org.apache.http.HttpResponse;
 import org.apache.http.annotation.Immutable;
 import org.apache.http.io.HttpMessageWriter;
 import org.apache.http.io.HttpMessageWriterFactory;
-import org.apache.http.io.SessionOutputBuffer;
 import org.apache.http.message.BasicLineFormatter;
 import org.apache.http.message.LineFormatter;
 
@@ -57,8 +56,8 @@ public class DefaultHttpResponseWriterFa
     }
 
     @Override
-    public HttpMessageWriter<HttpResponse> create(final SessionOutputBuffer buffer) {
-        return new DefaultHttpResponseWriter(buffer, lineFormatter);
+    public HttpMessageWriter<HttpResponse> create() {
+        return new DefaultHttpResponseWriter(this.lineFormatter);
     }
 
 }

Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageParser.java?rev=1641927&r1=1641926&r2=1641927&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageParser.java Wed Nov 26 20:28:57 2014
@@ -43,14 +43,14 @@ import org.apache.http.HttpMessage;
 public interface HttpMessageParser<T extends HttpMessage> {
 
     /**
-     * Generates an instance of {@link HttpMessage} from the underlying data
-     * source.
+     * Generates an instance of {@link HttpMessage} from an input buffer.
      *
+     * @param buffer session input buffer
      * @return HTTP message
      * @throws IOException in case of an I/O error
      * @throws HttpException in case of HTTP protocol violation
      */
-    T parse()
+    T parse(SessionInputBuffer buffer)
         throws IOException, HttpException;
 
 }

Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageParserFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageParserFactory.java?rev=1641927&r1=1641926&r2=1641927&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageParserFactory.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageParserFactory.java Wed Nov 26 20:28:57 2014
@@ -37,6 +37,6 @@ import org.apache.http.config.MessageCon
  */
 public interface HttpMessageParserFactory<T extends HttpMessage> {
 
-    HttpMessageParser<T> create(SessionInputBuffer buffer, MessageConstraints constraints);
+    HttpMessageParser<T> create(MessageConstraints constraints);
 
 }

Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageWriter.java?rev=1641927&r1=1641926&r2=1641927&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageWriter.java Wed Nov 26 20:28:57 2014
@@ -41,14 +41,14 @@ import org.apache.http.HttpMessage;
 public interface HttpMessageWriter<T extends HttpMessage> {
 
     /**
-     * Serializes an instance of {@link HttpMessage} to the underlying data
-     * sink.
+     * Serializes an instance of {@link HttpMessage} to an output buffer.
      *
      * @param message HTTP message
+     * @param buffer session output buffer
      * @throws IOException in case of an I/O error
      * @throws HttpException in case of HTTP protocol violation
      */
-    void write(T message)
+    void write(T message, SessionOutputBuffer buffer)
         throws IOException, HttpException;
 
 }

Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageWriterFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageWriterFactory.java?rev=1641927&r1=1641926&r2=1641927&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageWriterFactory.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/io/HttpMessageWriterFactory.java Wed Nov 26 20:28:57 2014
@@ -36,6 +36,6 @@ import org.apache.http.HttpMessage;
  */
 public interface HttpMessageWriterFactory<T extends HttpMessage> {
 
-    HttpMessageWriter<T> create(SessionOutputBuffer buffer);
+    HttpMessageWriter<T> create();
 
 }

Modified: httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/impl/io/TestRequestParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/impl/io/TestRequestParser.java?rev=1641927&r1=1641926&r2=1641927&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/impl/io/TestRequestParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/impl/io/TestRequestParser.java Wed Nov 26 20:28:57 2014
@@ -44,11 +44,6 @@ import org.junit.Test;
  */
 public class TestRequestParser {
 
-    @Test(expected=IllegalArgumentException.class)
-    public void testInvalidConstructorInput() throws Exception {
-        new DefaultHttpRequestParser(null);
-    }
-
     @Test
     public void testBasicMessageParsing() throws Exception {
         final String s =
@@ -59,8 +54,8 @@ public class TestRequestParser {
             "\r\n";
         final SessionInputBuffer inbuffer = new SessionInputBufferMock(s, Consts.ASCII);
 
-        final DefaultHttpRequestParser parser = new DefaultHttpRequestParser(inbuffer);
-        final HttpRequest httprequest = parser.parse();
+        final DefaultHttpRequestParser parser = new DefaultHttpRequestParser();
+        final HttpRequest httprequest = parser.parse(inbuffer);
 
         final RequestLine reqline = httprequest.getRequestLine();
         Assert.assertNotNull(reqline);
@@ -75,9 +70,9 @@ public class TestRequestParser {
     public void testConnectionClosedException() throws Exception {
         final SessionInputBuffer inbuffer = new SessionInputBufferMock(new byte[] {});
 
-        final DefaultHttpRequestParser parser = new DefaultHttpRequestParser(inbuffer);
+        final DefaultHttpRequestParser parser = new DefaultHttpRequestParser();
         try {
-            parser.parse();
+            parser.parse(inbuffer);
             Assert.fail("ConnectionClosedException should have been thrown");
         } catch (final ConnectionClosedException expected) {
         }
@@ -94,14 +89,14 @@ public class TestRequestParser {
         final SessionInputBuffer inbuffer = new SessionInputBufferMock(
                 new TimeoutByteArrayInputStream(s.getBytes(Consts.ASCII)), 16);
 
-        final DefaultHttpRequestParser parser = new DefaultHttpRequestParser(inbuffer);
+        final DefaultHttpRequestParser parser = new DefaultHttpRequestParser();
 
         int timeoutCount = 0;
 
         HttpRequest httprequest = null;
         for (int i = 0; i < 10; i++) {
             try {
-                httprequest = parser.parse();
+                httprequest = parser.parse(inbuffer);
                 break;
             } catch (final InterruptedIOException ex) {
                 timeoutCount++;

Modified: httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/impl/io/TestResponseParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/impl/io/TestResponseParser.java?rev=1641927&r1=1641926&r2=1641927&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/impl/io/TestResponseParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/impl/io/TestResponseParser.java Wed Nov 26 20:28:57 2014
@@ -45,11 +45,6 @@ import org.junit.Test;
  */
 public class TestResponseParser {
 
-    @Test(expected=IllegalArgumentException.class)
-    public void testInvalidConstructorInput() throws Exception {
-        new DefaultHttpResponseParser(null);
-    }
-
     @Test
     public void testBasicMessageParsing() throws Exception {
         final String s =
@@ -60,8 +55,8 @@ public class TestResponseParser {
             "\r\n";
         final SessionInputBuffer inbuffer = new SessionInputBufferMock(s, Consts.ASCII);
 
-        final DefaultHttpResponseParser parser = new DefaultHttpResponseParser(inbuffer);
-        final HttpResponse httpresponse = parser.parse();
+        final DefaultHttpResponseParser parser = new DefaultHttpResponseParser();
+        final HttpResponse httpresponse = parser.parse(inbuffer);
 
         final StatusLine statusline = httpresponse.getStatusLine();
         Assert.assertNotNull(statusline);
@@ -76,9 +71,9 @@ public class TestResponseParser {
     public void testConnectionClosedException() throws Exception {
         final SessionInputBuffer inbuffer = new SessionInputBufferMock(new byte[] {});
 
-        final DefaultHttpResponseParser parser = new DefaultHttpResponseParser(inbuffer);
+        final DefaultHttpResponseParser parser = new DefaultHttpResponseParser();
         try {
-            parser.parse();
+            parser.parse(inbuffer);
             Assert.fail("NoHttpResponseException should have been thrown");
         } catch (final NoHttpResponseException expected) {
         }
@@ -95,14 +90,14 @@ public class TestResponseParser {
         final SessionInputBuffer inbuffer = new SessionInputBufferMock(
                 new TimeoutByteArrayInputStream(s.getBytes(Consts.ASCII)), 16);
 
-        final DefaultHttpResponseParser parser = new DefaultHttpResponseParser(inbuffer);
+        final DefaultHttpResponseParser parser = new DefaultHttpResponseParser();
 
         int timeoutCount = 0;
 
         HttpResponse httpresponse = null;
         for (int i = 0; i < 10; i++) {
             try {
-                httpresponse = parser.parse();
+                httpresponse = parser.parse(inbuffer);
                 break;
             } catch (final InterruptedIOException ex) {
                 timeoutCount++;