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++;