You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2015/01/30 10:46:28 UTC
svn commit: r1655973 - /tomcat/trunk/java/org/apache/coyote/http11/
Author: markt
Date: Fri Jan 30 09:46:27 2015
New Revision: 1655973
URL: http://svn.apache.org/r1655973
Log:
No longer require per I/O implementation Processor implementations for HTTP
Added:
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
- copied, changed from r1655972, tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
Removed:
tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
Modified:
tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java?rev=1655973&r1=1655972&r2=1655973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java Fri Jan 30 09:46:27 2015
@@ -214,7 +214,7 @@ public abstract class AbstractHttp11Prot
// ------------------------------------------------------------- Common code
// Common configuration required for all new HTTP11 processors
- protected void configureProcessor(AbstractHttp11Processor<S> processor) {
+ protected void configureProcessor(Http11Processor<S> processor) {
processor.setAdapter(getAdapter());
processor.setMaxKeepAliveRequests(getMaxKeepAliveRequests());
processor.setConnectionUploadTimeout(getConnectionUploadTimeout());
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=1655973&r1=1655972&r2=1655973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Fri Jan 30 09:46:27 2015
@@ -212,7 +212,7 @@ public class Http11AprProtocol extends A
// -------------------- Connection handler --------------------
protected static class Http11ConnectionHandler
- extends AbstractConnectionHandler<Long,Http11AprProcessor> {
+ extends AbstractConnectionHandler<Long,Http11Processor<Long>> {
protected Http11AprProtocol proto;
@@ -295,8 +295,8 @@ public class Http11AprProtocol extends A
}
@Override
- protected Http11AprProcessor createProcessor() {
- Http11AprProcessor processor = new Http11AprProcessor(
+ protected Http11Processor<Long> createProcessor() {
+ Http11Processor<Long> processor = new Http11Processor<>(
proto.getMaxHttpHeaderSize(), proto.getEndpoint(),
proto.getMaxTrailerSize(), proto.getMaxExtensionSize(),
proto.getMaxSwallowSize());
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java?rev=1655973&r1=1655972&r2=1655973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java Fri Jan 30 09:46:27 2015
@@ -100,7 +100,7 @@ public class Http11Nio2Protocol extends
// -------------------- Connection handler --------------------
protected static class Http11ConnectionHandler
- extends AbstractConnectionHandler<Nio2Channel,Http11Nio2Processor>
+ extends AbstractConnectionHandler<Nio2Channel,Http11Processor<Nio2Channel>>
implements Handler {
protected Http11Nio2Protocol proto;
@@ -209,8 +209,8 @@ public class Http11Nio2Protocol extends
}
@Override
- public Http11Nio2Processor createProcessor() {
- Http11Nio2Processor processor = new Http11Nio2Processor(
+ public Http11Processor<Nio2Channel> createProcessor() {
+ Http11Processor<Nio2Channel> processor = new Http11Processor<>(
proto.getMaxHttpHeaderSize(), proto.getEndpoint(),
proto.getMaxTrailerSize(), proto.getMaxExtensionSize(),
proto.getMaxSwallowSize());
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1655973&r1=1655972&r2=1655973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Fri Jan 30 09:46:27 2015
@@ -127,7 +127,7 @@ public class Http11NioProtocol extends A
// -------------------- Connection handler --------------------
protected static class Http11ConnectionHandler
- extends AbstractConnectionHandler<NioChannel,Http11NioProcessor>
+ extends AbstractConnectionHandler<NioChannel,Http11Processor<NioChannel>>
implements Handler {
protected Http11NioProtocol proto;
@@ -247,8 +247,8 @@ public class Http11NioProtocol extends A
}
@Override
- public Http11NioProcessor createProcessor() {
- Http11NioProcessor processor = new Http11NioProcessor(
+ public Http11Processor<NioChannel> createProcessor() {
+ Http11Processor<NioChannel> processor = new Http11Processor<>(
proto.getMaxHttpHeaderSize(), proto.getEndpoint(),
proto.getMaxTrailerSize(), proto.getMaxExtensionSize(),
proto.getMaxSwallowSize());
Copied: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (from r1655972, tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java)
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?p2=tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java&p1=tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java&r1=1655972&r2=1655973&rev=1655973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Fri Jan 30 09:46:27 2015
@@ -42,6 +42,8 @@ import org.apache.coyote.http11.filters.
import org.apache.coyote.http11.filters.SavedRequestInputFilter;
import org.apache.coyote.http11.filters.VoidInputFilter;
import org.apache.coyote.http11.filters.VoidOutputFilter;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.buf.Ascii;
import org.apache.tomcat.util.buf.ByteChunk;
@@ -59,18 +61,18 @@ import org.apache.tomcat.util.net.Socket
import org.apache.tomcat.util.net.SocketWrapperBase;
import org.apache.tomcat.util.res.StringManager;
-public abstract class AbstractHttp11Processor<S> extends AbstractProcessor<S> {
-
- private final UserDataHelper userDataHelper;
+public class Http11Processor<S> extends AbstractProcessor<S> {
+ private static final Log log = LogFactory.getLog(Http11AprProtocol.class);
/**
* The string manager for this package.
*/
- protected static final StringManager sm =
- StringManager.getManager(Constants.Package);
+ private static final StringManager sm = StringManager.getManager(Http11AprProtocol.class);
+ private final UserDataHelper userDataHelper;
+
/**
* Input.
*/
@@ -236,11 +238,11 @@ public abstract class AbstractHttp11Proc
protected SSLSupport sslSupport;
- public AbstractHttp11Processor(int maxHttpHeaderSize, AbstractEndpoint<S> endpoint,
+ public Http11Processor(int maxHttpHeaderSize, AbstractEndpoint<S> endpoint,
int maxTrailerSize, int maxExtensionSize, int maxSwallowSize) {
super(endpoint);
- userDataHelper = new UserDataHelper(getLog());
+ userDataHelper = new UserDataHelper(log);
inputBuffer = new Http11InputBuffer(request, maxHttpHeaderSize);
request.setInputBuffer(getInputBuffer());
@@ -689,8 +691,8 @@ public abstract class AbstractHttp11Proc
// 501 - Unimplemented
response.setStatus(501);
setErrorState(ErrorState.CLOSE_CLEAN, null);
- if (getLog().isDebugEnabled()) {
- getLog().debug(sm.getString("http11processor.request.prepare") +
+ if (log.isDebugEnabled()) {
+ log.debug(sm.getString("http11processor.request.prepare") +
" Unsupported transfer encoding [" + encodingName + "]");
}
}
@@ -976,7 +978,7 @@ public abstract class AbstractHttp11Proc
request.setAttribute(SSLSupport.SESSION_MGR, sslSupport);
}
} catch (Exception e) {
- getLog().warn(sm.getString("http11processor.socket.ssl"), e);
+ log.warn(sm.getString("http11processor.socket.ssl"), e);
}
break;
}
@@ -996,7 +998,7 @@ public abstract class AbstractHttp11Proc
request.setAttribute(SSLSupport.CERTIFICATE_KEY, sslO);
}
} catch (IOException ioe) {
- getLog().warn(sm.getString("http11processor.socket.ssl"), ioe);
+ log.warn(sm.getString("http11processor.socket.ssl"), ioe);
}
}
break;
@@ -1004,8 +1006,6 @@ public abstract class AbstractHttp11Proc
}
}
- abstract void actionInternal(ActionCode actionCode, Object param);
-
/**
* Process pipelined HTTP requests using the specified input and output
@@ -1065,9 +1065,8 @@ public abstract class AbstractHttp11Proc
}
}
} catch (IOException e) {
- if (getLog().isDebugEnabled()) {
- getLog().debug(
- sm.getString("http11processor.header.parse"), e);
+ if (log.isDebugEnabled()) {
+ log.debug(sm.getString("http11processor.header.parse"), e);
}
setErrorState(ErrorState.CLOSE_NOW, e);
break;
@@ -1075,18 +1074,16 @@ public abstract class AbstractHttp11Proc
ExceptionUtils.handleThrowable(t);
UserDataHelper.Mode logMode = userDataHelper.getNextMode();
if (logMode != null) {
- String message = sm.getString(
- "http11processor.header.parse");
+ String message = sm.getString("http11processor.header.parse");
switch (logMode) {
case INFO_THEN_DEBUG:
- message += sm.getString(
- "http11processor.fallToDebug");
+ message += sm.getString("http11processor.fallToDebug");
//$FALL-THROUGH$
case INFO:
- getLog().info(message);
+ log.info(message);
break;
case DEBUG:
- getLog().debug(message);
+ log.debug(message);
}
}
// 400 - Bad Request
@@ -1102,9 +1099,8 @@ public abstract class AbstractHttp11Proc
prepareRequest();
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
- if (getLog().isDebugEnabled()) {
- getLog().debug(sm.getString(
- "http11processor.request.prepare"), t);
+ if (log.isDebugEnabled()) {
+ log.debug(sm.getString("http11processor.request.prepare"), t);
}
// 500 - Internal Server Error
response.setStatus(500);
@@ -1151,8 +1147,7 @@ public abstract class AbstractHttp11Proc
}
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
- getLog().error(sm.getString(
- "http11processor.request.process"), t);
+ log.error(sm.getString("http11processor.request.process"), t);
// 500 - Internal Server Error
response.setStatus(500);
setErrorState(ErrorState.CLOSE_CLEAN, t);
@@ -1316,8 +1311,8 @@ public abstract class AbstractHttp11Proc
// Send 505; Unsupported HTTP version
response.setStatus(505);
setErrorState(ErrorState.CLOSE_CLEAN, null);
- if (getLog().isDebugEnabled()) {
- getLog().debug(sm.getString("http11processor.request.prepare")+
+ if (log.isDebugEnabled()) {
+ log.debug(sm.getString("http11processor.request.prepare")+
" Unsupported HTTP version \""+protocolMB+"\"");
}
}
@@ -1447,8 +1442,8 @@ public abstract class AbstractHttp11Proc
// 400 - Bad request
response.setStatus(400);
setErrorState(ErrorState.CLOSE_CLEAN, null);
- if (getLog().isDebugEnabled()) {
- getLog().debug(sm.getString("http11processor.request.prepare")+
+ if (log.isDebugEnabled()) {
+ log.debug(sm.getString("http11processor.request.prepare")+
" host header missing");
}
}
@@ -1750,8 +1745,8 @@ public abstract class AbstractHttp11Proc
} catch (IOException | IllegalStateException x) {
// IOE - Problem writing to socket
// ISE - Request/Response not in correct state for async write
- if (getLog().isDebugEnabled()) {
- getLog().debug("Unable to write async data.",x);
+ if (log.isDebugEnabled()) {
+ log.debug("Unable to write async data.",x);
}
status = SocketStatus.ASYNC_WRITE_ERROR;
request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, x);
@@ -1764,8 +1759,8 @@ public abstract class AbstractHttp11Proc
}
} catch (IllegalStateException x) {
// ISE - Request/Response not in correct state for async read
- if (getLog().isDebugEnabled()) {
- getLog().debug("Unable to read async data.",x);
+ if (log.isDebugEnabled()) {
+ log.debug("Unable to read async data.",x);
}
status = SocketStatus.ASYNC_READ_ERROR;
request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, x);
@@ -1783,7 +1778,7 @@ public abstract class AbstractHttp11Proc
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
setErrorState(ErrorState.CLOSE_NOW, t);
- getLog().error(sm.getString("http11processor.request.process"), t);
+ log.error(sm.getString("http11processor.request.process"), t);
}
rp.setStage(org.apache.coyote.Constants.STAGE_ENDED);
@@ -1829,6 +1824,12 @@ public abstract class AbstractHttp11Proc
}
+ @Override
+ protected Log getLog() {
+ return log;
+ }
+
+
public void endRequest() {
// Finish the handling of the request
@@ -1844,7 +1845,7 @@ public abstract class AbstractHttp11Proc
// written in the Adapter.service method.
response.setStatus(500);
setErrorState(ErrorState.CLOSE_NOW, t);
- getLog().error(sm.getString("http11processor.request.finish"), t);
+ log.error(sm.getString("http11processor.request.finish"), t);
}
}
if (getErrorState().isIoAllowed()) {
@@ -1855,7 +1856,7 @@ public abstract class AbstractHttp11Proc
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
setErrorState(ErrorState.CLOSE_NOW, t);
- getLog().error(sm.getString("http11processor.response.finish"), t);
+ log.error(sm.getString("http11processor.response.finish"), t);
}
}
}
@@ -1882,8 +1883,8 @@ public abstract class AbstractHttp11Proc
return true;
case ERROR:
// Write failed
- if (getLog().isDebugEnabled()) {
- getLog().debug(sm.getString("http11processor.sendfile.error"));
+ if (log.isDebugEnabled()) {
+ log.debug(sm.getString("http11processor.sendfile.error"));
}
setErrorState(ErrorState.CLOSE_NOW, null);
return true;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org