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 2010/03/04 21:42:03 UTC
svn commit: r919168 - in /httpcomponents/httpcore/trunk/httpcore-nio/src:
main/java/org/apache/http/impl/nio/
main/java/org/apache/http/impl/nio/codecs/ main/java/org/apache/http/nio/
test/java/org/apache/http/impl/nio/codecs/
Author: olegk
Date: Thu Mar 4 20:42:03 2010
New Revision: 919168
URL: http://svn.apache.org/viewvc?rev=919168&view=rev
Log:
Generified NHttpMessageWriter and NHttpMessageParser
Added:
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.java
- copied, changed from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.java
- copied, changed from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.java
- copied, changed from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.java
- copied, changed from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java
Modified:
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageWriter.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageParser.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageWriter.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestHttpMessageParser.java
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java Thu Mar 4 20:42:03 2010
@@ -35,8 +35,8 @@
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpResponseFactory;
-import org.apache.http.impl.nio.codecs.HttpRequestWriter;
-import org.apache.http.impl.nio.codecs.HttpResponseParser;
+import org.apache.http.impl.nio.codecs.DefaultHttpRequestWriter;
+import org.apache.http.impl.nio.codecs.DefaultHttpResponseParser;
import org.apache.http.nio.NHttpClientConnection;
import org.apache.http.nio.NHttpClientIOTarget;
import org.apache.http.nio.NHttpClientHandler;
@@ -66,8 +66,8 @@
public class DefaultNHttpClientConnection
extends NHttpConnectionBase implements NHttpClientIOTarget {
- protected final NHttpMessageParser responseParser;
- protected final NHttpMessageWriter requestWriter;
+ protected final NHttpMessageParser<HttpResponse> responseParser;
+ protected final NHttpMessageWriter<HttpRequest> requestWriter;
/**
* Creates a new instance of this class given the underlying I/O session.
@@ -102,12 +102,12 @@
*
* @return HTTP response parser.
*/
- protected NHttpMessageParser createResponseParser(
+ protected NHttpMessageParser<HttpResponse> createResponseParser(
final SessionInputBuffer buffer,
final HttpResponseFactory responseFactory,
final HttpParams params) {
// override in derived class to specify a line parser
- return new HttpResponseParser(buffer, null, responseFactory, params);
+ return new DefaultHttpResponseParser(buffer, null, responseFactory, params);
}
/**
@@ -119,11 +119,11 @@
*
* @return HTTP response parser.
*/
- protected NHttpMessageWriter createRequestWriter(
+ protected NHttpMessageWriter<HttpRequest> createRequestWriter(
final SessionOutputBuffer buffer,
final HttpParams params) {
// override in derived class to specify a line formatter
- return new HttpRequestWriter(buffer, null, params);
+ return new DefaultHttpRequestWriter(buffer, null, params);
}
public void resetInput() {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java Thu Mar 4 20:42:03 2010
@@ -35,8 +35,8 @@
import org.apache.http.HttpRequest;
import org.apache.http.HttpRequestFactory;
import org.apache.http.HttpResponse;
-import org.apache.http.impl.nio.codecs.HttpRequestParser;
-import org.apache.http.impl.nio.codecs.HttpResponseWriter;
+import org.apache.http.impl.nio.codecs.DefaultHttpRequestParser;
+import org.apache.http.impl.nio.codecs.DefaultHttpResponseWriter;
import org.apache.http.nio.NHttpMessageParser;
import org.apache.http.nio.NHttpMessageWriter;
import org.apache.http.nio.NHttpServerConnection;
@@ -66,8 +66,8 @@
public class DefaultNHttpServerConnection
extends NHttpConnectionBase implements NHttpServerIOTarget {
- protected final NHttpMessageParser requestParser;
- protected final NHttpMessageWriter responseWriter;
+ protected final NHttpMessageParser<HttpRequest> requestParser;
+ protected final NHttpMessageWriter<HttpResponse> responseWriter;
/**
* Creates a new instance of this class given the underlying I/O session.
@@ -99,12 +99,12 @@
*
* @return HTTP response parser.
*/
- protected NHttpMessageParser createRequestParser(
+ protected NHttpMessageParser<HttpRequest> createRequestParser(
final SessionInputBuffer buffer,
final HttpRequestFactory requestFactory,
final HttpParams params) {
// override in derived class to specify a line parser
- return new HttpRequestParser(buffer, null, requestFactory, params);
+ return new DefaultHttpRequestParser(buffer, null, requestFactory, params);
}
/**
@@ -117,11 +117,11 @@
*
* @return HTTP response parser.
*/
- protected NHttpMessageWriter createResponseWriter(
+ protected NHttpMessageWriter<HttpResponse> createResponseWriter(
final SessionOutputBuffer buffer,
final HttpParams params) {
// override in derived class to specify a line formatter
- return new HttpResponseWriter(buffer, null, params);
+ return new DefaultHttpResponseWriter(buffer, null, params);
}
public void resetInput() {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageParser.java Thu Mar 4 20:42:03 2010
@@ -57,7 +57,7 @@
*
* @since 4.0
*/
-public abstract class AbstractMessageParser implements NHttpMessageParser {
+public abstract class AbstractMessageParser<T extends HttpMessage> implements NHttpMessageParser<T> {
private final SessionInputBuffer sessionBuffer;
@@ -68,7 +68,7 @@
private int state;
private boolean endOfStream;
- private HttpMessage message;
+ private T message;
private CharArrayBuffer lineBuf;
private final List<CharArrayBuffer> headerBufs;
@@ -126,7 +126,7 @@
* @throws HttpException in case of HTTP protocol violation
* @throws ParseException in case of a parse error.
*/
- protected abstract HttpMessage createMessage(CharArrayBuffer buffer)
+ protected abstract T createMessage(CharArrayBuffer buffer)
throws HttpException, ParseException;
private void parseHeadLine() throws HttpException, ParseException {
@@ -159,7 +159,7 @@
}
}
- public HttpMessage parse() throws IOException, HttpException {
+ public T parse() throws IOException, HttpException {
while (this.state != COMPLETED) {
if (this.lineBuf == null) {
this.lineBuf = new CharArrayBuffer(64);
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageWriter.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractMessageWriter.java Thu Mar 4 20:42:03 2010
@@ -46,7 +46,7 @@
*
* @since 4.0
*/
-public abstract class AbstractMessageWriter implements NHttpMessageWriter {
+public abstract class AbstractMessageWriter<T extends HttpMessage> implements NHttpMessageWriter<T> {
protected final SessionOutputBuffer sessionBuffer;
protected final CharArrayBuffer lineBuf;
@@ -81,11 +81,9 @@
* @param message HTTP message.
* @throws HttpException in case of HTTP protocol violation
*/
- protected abstract void writeHeadLine(HttpMessage message)
- throws IOException;
+ protected abstract void writeHeadLine(T message) throws IOException;
- public void write(
- final HttpMessage message) throws IOException, HttpException {
+ public void write(final T message) throws IOException, HttpException {
if (message == null) {
throw new IllegalArgumentException("HTTP message may not be null");
}
Copied: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.java (from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java)
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.java?p2=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.java&p1=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java&r1=918628&r2=919168&rev=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.java Thu Mar 4 20:42:03 2010
@@ -28,7 +28,6 @@
package org.apache.http.impl.nio.codecs;
import org.apache.http.HttpException;
-import org.apache.http.HttpMessage;
import org.apache.http.HttpRequest;
import org.apache.http.HttpRequestFactory;
import org.apache.http.RequestLine;
@@ -50,13 +49,13 @@
* <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_LINE_LENGTH}</li>
* </ul>
*
- * @since 4.0
+ * @since 4.1
*/
-public class HttpRequestParser extends AbstractMessageParser {
+public class DefaultHttpRequestParser extends AbstractMessageParser<HttpRequest> {
private final HttpRequestFactory requestFactory;
- public HttpRequestParser(
+ public DefaultHttpRequestParser(
final SessionInputBuffer buffer,
final LineParser parser,
final HttpRequestFactory requestFactory,
@@ -69,7 +68,7 @@
}
@Override
- protected HttpMessage createMessage(final CharArrayBuffer buffer)
+ protected HttpRequest createMessage(final CharArrayBuffer buffer)
throws HttpException, ParseException {
ParserCursor cursor = new ParserCursor(0, buffer.length());
RequestLine requestLine = lineParser.parseRequestLine(buffer, cursor);
Copied: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.java (from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java)
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.java?p2=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.java&p1=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java&r1=918628&r2=919168&rev=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.java Thu Mar 4 20:42:03 2010
@@ -29,7 +29,6 @@
import java.io.IOException;
-import org.apache.http.HttpMessage;
import org.apache.http.HttpRequest;
import org.apache.http.message.LineFormatter;
import org.apache.http.nio.NHttpMessageWriter;
@@ -40,22 +39,20 @@
/**
* Default {@link NHttpMessageWriter} implementation for {@link HttpRequest}s.
*
- * @since 4.0
+ * @since 4.1
*/
-public class HttpRequestWriter extends AbstractMessageWriter {
+public class DefaultHttpRequestWriter extends AbstractMessageWriter<HttpRequest> {
- public HttpRequestWriter(final SessionOutputBuffer buffer,
+ public DefaultHttpRequestWriter(final SessionOutputBuffer buffer,
final LineFormatter formatter,
final HttpParams params) {
super(buffer, formatter, params);
}
@Override
- protected void writeHeadLine(final HttpMessage message)
- throws IOException {
-
- final CharArrayBuffer buffer = lineFormatter.formatRequestLine
- (this.lineBuf, ((HttpRequest) message).getRequestLine());
+ protected void writeHeadLine(final HttpRequest message) throws IOException {
+ CharArrayBuffer buffer = lineFormatter.formatRequestLine(
+ this.lineBuf, message.getRequestLine());
this.sessionBuffer.writeLine(buffer);
}
Copied: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.java (from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java)
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.java?p2=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.java&p1=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java&r1=918628&r2=919168&rev=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.java Thu Mar 4 20:42:03 2010
@@ -28,7 +28,6 @@
package org.apache.http.impl.nio.codecs;
import org.apache.http.HttpException;
-import org.apache.http.HttpMessage;
import org.apache.http.HttpResponse;
import org.apache.http.HttpResponseFactory;
import org.apache.http.StatusLine;
@@ -50,13 +49,13 @@
* <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_LINE_LENGTH}</li>
* </ul>
*
- * @since 4.0
+ * @since 4.1
*/
-public class HttpResponseParser extends AbstractMessageParser {
+public class DefaultHttpResponseParser extends AbstractMessageParser<HttpResponse> {
private final HttpResponseFactory responseFactory;
- public HttpResponseParser(
+ public DefaultHttpResponseParser(
final SessionInputBuffer buffer,
final LineParser parser,
final HttpResponseFactory responseFactory,
@@ -69,7 +68,7 @@
}
@Override
- protected HttpMessage createMessage(final CharArrayBuffer buffer)
+ protected HttpResponse createMessage(final CharArrayBuffer buffer)
throws HttpException, ParseException {
ParserCursor cursor = new ParserCursor(0, buffer.length());
StatusLine statusline = lineParser.parseStatusLine(buffer, cursor);
Copied: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.java (from r918628, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java)
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.java?p2=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.java&p1=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java&r1=918628&r2=919168&rev=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.java Thu Mar 4 20:42:03 2010
@@ -29,7 +29,6 @@
import java.io.IOException;
-import org.apache.http.HttpMessage;
import org.apache.http.HttpResponse;
import org.apache.http.message.LineFormatter;
import org.apache.http.nio.NHttpMessageWriter;
@@ -40,22 +39,20 @@
/**
* Default {@link NHttpMessageWriter} implementation for {@link HttpResponse}s.
*
- * @since 4.0
+ * @since 4.1
*/
-public class HttpResponseWriter extends AbstractMessageWriter {
+public class DefaultHttpResponseWriter extends AbstractMessageWriter<HttpResponse> {
- public HttpResponseWriter(final SessionOutputBuffer buffer,
+ public DefaultHttpResponseWriter(final SessionOutputBuffer buffer,
final LineFormatter formatter,
final HttpParams params) {
super(buffer, formatter, params);
}
@Override
- protected void writeHeadLine(final HttpMessage message)
- throws IOException {
-
- final CharArrayBuffer buffer = lineFormatter.formatStatusLine
- (this.lineBuf, ((HttpResponse) message).getStatusLine());
+ protected void writeHeadLine(final HttpResponse message) throws IOException {
+ CharArrayBuffer buffer = lineFormatter.formatStatusLine(
+ this.lineBuf, message.getStatusLine());
this.sessionBuffer.writeLine(buffer);
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java Thu Mar 4 20:42:03 2010
@@ -51,7 +51,11 @@
* </ul>
*
* @since 4.0
+ *
+ * @deprecated use {@link DefaultHttpRequestParser}
*/
+@SuppressWarnings("unchecked")
+@Deprecated
public class HttpRequestParser extends AbstractMessageParser {
private final HttpRequestFactory requestFactory;
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java Thu Mar 4 20:42:03 2010
@@ -41,7 +41,11 @@
* Default {@link NHttpMessageWriter} implementation for {@link HttpRequest}s.
*
* @since 4.0
+ *
+ * @deprecated use {@link DefaultHttpRequestWriter}
*/
+@SuppressWarnings("unchecked")
+@Deprecated
public class HttpRequestWriter extends AbstractMessageWriter {
public HttpRequestWriter(final SessionOutputBuffer buffer,
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java Thu Mar 4 20:42:03 2010
@@ -51,7 +51,11 @@
* </ul>
*
* @since 4.0
+ *
+ * @deprecated use {@link DefaultHttpResponseParser}
*/
+@SuppressWarnings("unchecked")
+@Deprecated
public class HttpResponseParser extends AbstractMessageParser {
private final HttpResponseFactory responseFactory;
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java Thu Mar 4 20:42:03 2010
@@ -41,7 +41,11 @@
* Default {@link NHttpMessageWriter} implementation for {@link HttpResponse}s.
*
* @since 4.0
+ *
+ * @deprecated use {@link DefaultHttpResponseWriter}
*/
+@SuppressWarnings("unchecked")
+@Deprecated
public class HttpResponseWriter extends AbstractMessageWriter {
public HttpResponseWriter(final SessionOutputBuffer buffer,
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageParser.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageParser.java Thu Mar 4 20:42:03 2010
@@ -38,7 +38,7 @@
*
* @since 4.0
*/
-public interface NHttpMessageParser {
+public interface NHttpMessageParser<T extends HttpMessage> {
/**
* Resets the parser. The parser will be ready to start parsing another
@@ -67,7 +67,6 @@
* @throws HttpException in case the HTTP message is malformed or
* violates the HTTP protocol.
*/
- HttpMessage parse()
- throws IOException, HttpException;
+ T parse() throws IOException, HttpException;
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageWriter.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageWriter.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/NHttpMessageWriter.java Thu Mar 4 20:42:03 2010
@@ -37,7 +37,7 @@
*
* @since 4.0
*/
-public interface NHttpMessageWriter {
+public interface NHttpMessageWriter<T extends HttpMessage> {
/**
* Resets the writer. The writer will be ready to start serializing another
@@ -53,7 +53,6 @@
* @throws HttpException in case the HTTP message is malformed or
* violates the HTTP protocol.
*/
- void write(HttpMessage message)
- throws IOException, HttpException;
+ void write(T message) throws IOException, HttpException;
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestHttpMessageParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestHttpMessageParser.java?rev=919168&r1=919167&r2=919168&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestHttpMessageParser.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestHttpMessageParser.java Thu Mar 4 20:42:03 2010
@@ -40,11 +40,13 @@
import org.apache.http.HttpException;
import org.apache.http.HttpRequest;
import org.apache.http.HttpRequestFactory;
+import org.apache.http.HttpResponse;
import org.apache.http.HttpResponseFactory;
import org.apache.http.HttpVersion;
import org.apache.http.impl.DefaultHttpRequestFactory;
import org.apache.http.impl.DefaultHttpResponseFactory;
import org.apache.http.impl.nio.reactor.SessionInputBufferImpl;
+import org.apache.http.nio.NHttpMessageParser;
import org.apache.http.nio.reactor.SessionInputBuffer;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.CoreConnectionPNames;
@@ -52,9 +54,6 @@
/**
* Simple tests for {@link AbstractMessageParser}.
- *
- *
- * @version $Id$
*/
public class TestHttpMessageParser extends TestCase {
@@ -89,7 +88,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
requestParser.fillBuffer(newChannel("GET /whatever HTTP/1.1\r\nSome header: stuff\r\n\r\n"));
HttpRequest request = (HttpRequest) requestParser.parse();
assertNotNull(request);
@@ -101,7 +100,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
requestParser.fillBuffer(newChannel("GET /whatev"));
HttpRequest request = (HttpRequest) requestParser.parse();
@@ -122,7 +121,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
requestParser.fillBuffer(newChannel("GET /whatev"));
HttpRequest request = (HttpRequest) requestParser.parse();
@@ -152,7 +151,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
requestParser.fillBuffer(newChannel("GET /whatev"));
HttpRequest request = (HttpRequest) requestParser.parse();
@@ -179,7 +178,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
requestParser.fillBuffer(newChannel("GET /whatev"));
HttpRequest request = (HttpRequest) requestParser.parse();
@@ -209,7 +208,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
ReadableByteChannel channel = newChannel("GET /whatever HTTP/1.0");
requestParser.fillBuffer(channel);
@@ -223,7 +222,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
ReadableByteChannel channel = newChannel("GET /whatever HTTP/1.0\r\nHeader: whatever");
requestParser.fillBuffer(channel);
@@ -238,7 +237,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
ReadableByteChannel channel = newChannel("GET garbage\r\n");
requestParser.fillBuffer(channel);
@@ -254,7 +253,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpResponseFactory responseFactory = new DefaultHttpResponseFactory();
- HttpResponseParser responseParser = new HttpResponseParser(inbuf, null, responseFactory, params);
+ NHttpMessageParser<HttpResponse> responseParser = new DefaultHttpResponseParser(inbuf, null, responseFactory, params);
ReadableByteChannel channel = newChannel("HTTP 200 OK\r\n");
responseParser.fillBuffer(channel);
@@ -270,7 +269,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpResponseFactory responseFactory = new DefaultHttpResponseFactory();
- HttpResponseParser responseParser = new HttpResponseParser(inbuf, null, responseFactory, params);
+ NHttpMessageParser<HttpResponse> responseParser = new DefaultHttpResponseParser(inbuf, null, responseFactory, params);
ReadableByteChannel channel = newChannel("HTTP/1.0 200 OK\r\nstuff\r\n\r\n");
responseParser.fillBuffer(channel);
@@ -286,7 +285,7 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
ReadableByteChannel channel = newChannel("GET /whatever HTTP/1.0\r\nHeader: one\r\n\r\n");
requestParser.fillBuffer(channel);
@@ -309,25 +308,25 @@
HttpParams params = new BasicHttpParams();
SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, params);
try {
- new HttpRequestParser(null, null, null, params);
+ new DefaultHttpRequestParser(null, null, null, params);
fail("IllegalArgumentException should have been thrown");
} catch (IllegalArgumentException ex) {
// ignore
}
try {
- new HttpRequestParser(inbuf, null, null, params);
+ new DefaultHttpRequestParser(inbuf, null, null, params);
fail("IllegalArgumentException should have been thrown");
} catch (IllegalArgumentException ex) {
// ignore
}
try {
- new HttpResponseParser(null, null, null, params);
+ new DefaultHttpResponseParser(null, null, null, params);
fail("IllegalArgumentException should have been thrown");
} catch (IllegalArgumentException ex) {
// ignore
}
try {
- new HttpResponseParser(inbuf, null, null, params);
+ new DefaultHttpResponseParser(inbuf, null, null, params);
fail("IllegalArgumentException should have been thrown");
} catch (IllegalArgumentException ex) {
// ignore
@@ -340,13 +339,13 @@
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 0);
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
requestParser.fillBuffer(newChannel("GET /whatever HTTP/1.0\r\nHeader: one\r\n\r\n"));
requestParser.parse();
requestParser.reset();
params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 15);
- requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
try {
requestParser.fillBuffer(newChannel("GET /loooooooooooooooong HTTP/1.0\r\nHeader: one\r\n\r\n"));
requestParser.parse();
@@ -361,13 +360,13 @@
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 0);
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
requestParser.fillBuffer(newChannel("GET /whatever HTTP/1.0\r\nHeader: one\r\n\r\n"));
requestParser.parse();
requestParser.reset();
params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 15);
- requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
requestParser.fillBuffer(newChannel("GET / HTTP/1.0\r\nHeader: 9012345\r\n\r\n"));
requestParser.parse();
requestParser.reset();
@@ -386,7 +385,7 @@
params.setIntParameter(CoreConnectionPNames.MAX_HEADER_COUNT, 2);
params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 15);
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
try {
requestParser.fillBuffer(newChannel("GET / HTTP/1.0\r\nHeader: 9012345\r\n 23456789012345\r\n 23456789012345\r\n 23456789012345\r\n\r\n"));
requestParser.parse();
@@ -401,7 +400,7 @@
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
params.setIntParameter(CoreConnectionPNames.MAX_HEADER_COUNT, 2);
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
requestParser.fillBuffer(newChannel("GET /whatever HTTP/1.0\r\nHeader: one\r\nHeader: two\r\n\r\n"));
requestParser.parse();
requestParser.reset();
@@ -420,7 +419,7 @@
HttpRequestFactory requestFactory = new DefaultHttpRequestFactory();
params.setIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 2);
- HttpRequestParser requestParser = new HttpRequestParser(inbuf, null, requestFactory, params);
+ NHttpMessageParser<HttpRequest> requestParser = new DefaultHttpRequestParser(inbuf, null, requestFactory, params);
ReadableByteChannel channel = newChannel("GET / HTTP/1.0\r\nHeader: one\r\n\r\n");
assertEquals(2, requestParser.fillBuffer(channel));
assertNull(requestParser.parse());