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 * These methods return true if they want parsing to return to
* the caller. * the caller.
*/ */
public interface HttpHandler public interface HttpHandler<T>
{ {
public boolean content(ByteBuffer ref); public boolean content(T item);
public boolean headerComplete(); public boolean headerComplete();
@ -1244,7 +1244,7 @@ public class HttpParser
public void badMessage(int status, String reason); 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 * 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 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 * 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 public class HttpTester
{ {
private HttpTester(){}; private HttpTester()
{
}
public static Request newRequest() public static Request newRequest()
{ {
return new Request(); return new Request();
} }
public static Request parseRequest(String request) public static Request parseRequest(String request)
{ {
Request r=new 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; ByteArrayOutputStream _content;
HttpVersion _version=HttpVersion.HTTP_1_0; 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 _method;
private String _uri; 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 int _status;
private String _reason; private String _reason;

View File

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

View File

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

View File

@ -44,7 +44,7 @@ public class HttpWriterTest
final HttpConfiguration configuration = new HttpConfiguration(null, false); final HttpConfiguration configuration = new HttpConfiguration(null, false);
final ByteBufferPool bufferPool = new MappedByteBufferPool(); 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 @Override
public HttpConfiguration getHttpConfiguration() public HttpConfiguration getHttpConfiguration()