Jetty9 - Generified HttpChannel and HttpParser listeners to follow the generification of HttpInput.

This commit is contained in:
Simone Bordet 2012-08-28 09:29:08 +02:00
parent 5e4a2508b1
commit 0acf2f9650
7 changed files with 23 additions and 23 deletions

View File

@ -1222,9 +1222,9 @@ public class HttpParser
* These methods return true if they want parsing to return to
* the caller.
*/
public interface HttpHandler
public interface HttpHandler<T>
{
public boolean content(ByteBuffer ref);
public boolean content(T item);
public boolean headerComplete();
@ -1244,7 +1244,7 @@ public class HttpParser
public void badMessage(int status, String reason);
}
public interface RequestHandler extends HttpHandler
public interface RequestHandler<T> extends HttpHandler<T>
{
/**
* This is the method called by parser when the HTTP request line is parsed
@ -1259,7 +1259,7 @@ public class HttpParser
public abstract boolean parsedHostHeader(String host,int port);
}
public interface ResponseHandler extends HttpHandler
public interface ResponseHandler<T> extends HttpHandler<T>
{
/**
* This is the method called by parser when the HTTP request line is parsed

View File

@ -31,15 +31,15 @@ import org.eclipse.jetty.util.StringUtil;
public class HttpTester
{
private HttpTester(){};
private HttpTester()
{
}
public static Request newRequest()
{
return new Request();
}
public static Request parseRequest(String request)
{
Request r=new Request();
@ -73,7 +73,7 @@ public class HttpTester
}
public abstract static class Message extends HttpFields implements HttpParser.HttpHandler
public abstract static class Message extends HttpFields implements HttpParser.HttpHandler<ByteBuffer>
{
ByteArrayOutputStream _content;
HttpVersion _version=HttpVersion.HTTP_1_0;
@ -232,7 +232,7 @@ public class HttpTester
}
public static class Request extends Message implements HttpParser.RequestHandler
public static class Request extends Message implements HttpParser.RequestHandler<ByteBuffer>
{
private String _method;
private String _uri;
@ -290,7 +290,7 @@ public class HttpTester
}
}
public static class Response extends Message implements HttpParser.ResponseHandler
public static class Response extends Message implements HttpParser.ResponseHandler<ByteBuffer>
{
private int _status;
private String _reason;

View File

@ -38,7 +38,7 @@ import static org.junit.Assert.assertTrue;
public class HttpGeneratorServerTest
{
private class Handler implements HttpParser.ResponseHandler
private class Handler implements HttpParser.ResponseHandler<ByteBuffer>
{
@Override
public boolean content(ByteBuffer ref)

View File

@ -697,7 +697,7 @@ public class HttpParserTest
private boolean _headerCompleted;
private boolean _messageCompleted;
private class Handler implements HttpParser.RequestHandler, HttpParser.ResponseHandler
private class Handler implements HttpParser.RequestHandler<ByteBuffer>, HttpParser.ResponseHandler<ByteBuffer>
{
private HttpFields fields;
private boolean request;

View File

@ -43,7 +43,6 @@ import org.eclipse.jetty.io.ByteBufferPool;
import org.eclipse.jetty.io.EndPoint;
import org.eclipse.jetty.io.EofException;
import org.eclipse.jetty.server.handler.ErrorHandler;
import org.eclipse.jetty.util.BufferUtil;
import org.eclipse.jetty.util.StringUtil;
import org.eclipse.jetty.util.URIUtil;
import org.eclipse.jetty.util.log.Log;
@ -61,7 +60,7 @@ import org.eclipse.jetty.util.log.Logger;
* HttpTransport.completed().
*
*/
public class HttpChannel implements HttpParser.RequestHandler, Runnable
public class HttpChannel<T> implements HttpParser.RequestHandler<T>, Runnable
{
private static final Logger LOG = Log.getLogger(HttpChannel.class);
private static final ThreadLocal<HttpChannel> __currentChannel = new ThreadLocal<>();
@ -91,7 +90,7 @@ public class HttpChannel implements HttpParser.RequestHandler, Runnable
private boolean _expect100Continue = false;
private boolean _expect102Processing = false;
public HttpChannel(Connector connector, HttpConfiguration configuration, EndPoint endPoint, HttpTransport transport, HttpInput input)
public HttpChannel(Connector connector, HttpConfiguration configuration, EndPoint endPoint, HttpTransport transport, HttpInput<T> input)
{
_connector = connector;
_configuration = configuration;
@ -279,7 +278,7 @@ public class HttpChannel implements HttpParser.RequestHandler, Runnable
try
{
_state.completed();
if (!_response.isCommitted() && !_request.isHandled())
_response.sendError(404);
@ -511,11 +510,13 @@ public class HttpChannel implements HttpParser.RequestHandler, Runnable
}
@Override
public boolean content(ByteBuffer ref)
public boolean content(T item)
{
if (LOG.isDebugEnabled())
LOG.debug("{} content {}", this, BufferUtil.toDetailString(ref));
_request.getHttpInput().content(ref);
LOG.debug("{} content {}", this, item);
@SuppressWarnings("unchecked")
HttpInput<T> input = _request.getHttpInput();
input.content(item);
return true;
}
@ -616,7 +617,6 @@ public class HttpChannel implements HttpParser.RequestHandler, Runnable
_connector.getExecutor().execute(task);
}
// TODO: remove
public ScheduledExecutorService getScheduler()
{
return _connector.getScheduler();

View File

@ -581,9 +581,9 @@ public class HttpConnection extends AbstractConnection implements Runnable, Http
}
}
private class HttpChannelOverHttp extends HttpChannel
private class HttpChannelOverHttp extends HttpChannel<ByteBuffer>
{
public HttpChannelOverHttp(Connector connector, HttpConfiguration configuration, EndPoint endPoint, HttpTransport transport, HttpInput input)
public HttpChannelOverHttp(Connector connector, HttpConfiguration configuration, EndPoint endPoint, HttpTransport transport, HttpInput<ByteBuffer> input)
{
super(connector,configuration,endPoint,transport,input);
}

View File

@ -44,7 +44,7 @@ public class HttpWriterTest
final HttpConfiguration configuration = new HttpConfiguration(null, false);
final ByteBufferPool bufferPool = new MappedByteBufferPool();
HttpChannel channel = new HttpChannel(null,null,null,null,null)
HttpChannel channel = new HttpChannel<ByteBuffer>(null,null,null,null,null)
{
@Override
public HttpConfiguration getHttpConfiguration()