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 2016/08/12 07:47:26 UTC
svn commit: r1756104 - in /tomcat/trunk/java/org/apache/coyote:
ajp/AjpProcessor.java http11/Http11Processor.java http2/StreamProcessor.java
Author: markt
Date: Fri Aug 12 07:47:25 2016
New Revision: 1756104
URL: http://svn.apache.org/viewvc?rev=1756104&view=rev
Log:
Align remaining ActionCodes
Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1756104&r1=1756103&r2=1756104&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Fri Aug 12 07:47:25 2016
@@ -35,6 +35,7 @@ import org.apache.coyote.AsyncContextCal
import org.apache.coyote.ErrorState;
import org.apache.coyote.InputBuffer;
import org.apache.coyote.OutputBuffer;
+import org.apache.coyote.PushToken;
import org.apache.coyote.RequestInfo;
import org.apache.coyote.UpgradeToken;
import org.apache.juli.logging.Log;
@@ -574,22 +575,19 @@ public class AjpProcessor extends Abstra
// Servlet 3.1 HTTP Upgrade
case UPGRADE: {
- // HTTP connections only. Unsupported for AJP.
- throw new UnsupportedOperationException(
- sm.getString("ajpprocessor.httpupgrade.notsupported"));
+ doHttpUpgrade((UpgradeToken) param);
+ break;
}
// Servlet 4.0 Push requests
case IS_PUSH_SUPPORTED: {
- // HTTP2 connections only. Unsupported for AJP.
AtomicBoolean result = (AtomicBoolean) param;
- result.set(false);
+ result.set(isPushSupported());
break;
}
case PUSH_REQUEST: {
- // HTTP2 connections only. Unsupported for AJP.
- throw new UnsupportedOperationException(
- sm.getString("ajpprocessor.pushrequest.notsupported"));
+ doPush((PushToken) param);
+ break;
}
}
}
@@ -1529,6 +1527,32 @@ public class AjpProcessor extends Abstra
}
+ /**
+ * @param upgradeToken Unused.
+ */
+ private void doHttpUpgrade(UpgradeToken upgradeToken) {
+ // HTTP connections only. Unsupported for AJP.
+ throw new UnsupportedOperationException(
+ sm.getString("ajpprocessor.httpupgrade.notsupported"));
+ }
+
+
+ private boolean isPushSupported() {
+ // HTTP2 connections only. Unsupported for AJP.
+ return false;
+ }
+
+
+ /**
+ * @param pushToken Unused
+ */
+ private void doPush(PushToken pushToken) {
+ // HTTP2 connections only. Unsupported for AJP.
+ throw new UnsupportedOperationException(
+ sm.getString("ajpprocessor.pushrequest.notsupported"));
+ }
+
+
/**
* Read at least the specified amount of bytes, and place them
* in the input buffer. Note that if any data is available to read then this
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1756104&r1=1756103&r2=1756104&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Fri Aug 12 07:47:25 2016
@@ -32,6 +32,7 @@ import org.apache.coyote.AbstractProcess
import org.apache.coyote.ActionCode;
import org.apache.coyote.AsyncContextCallback;
import org.apache.coyote.ErrorState;
+import org.apache.coyote.PushToken;
import org.apache.coyote.Request;
import org.apache.coyote.RequestInfo;
import org.apache.coyote.UpgradeProtocol;
@@ -867,23 +868,19 @@ public class Http11Processor extends Abs
// Servlet 3.1 HTTP Upgrade
case UPGRADE: {
- upgradeToken = (UpgradeToken) param;
- // Stop further HTTP output
- outputBuffer.responseFinished = true;
+ doHttpUpgrade((UpgradeToken) param);
break;
}
// Servlet 4.0 Push requests
case IS_PUSH_SUPPORTED: {
- // HTTP2 connections only. Unsupported for HTTP/1.x
AtomicBoolean result = (AtomicBoolean) param;
- result.set(false);
+ result.set(isPushSupported());
break;
}
case PUSH_REQUEST: {
- // HTTP2 connections only. Unsupported for AJP.
- throw new UnsupportedOperationException(
- sm.getString("http11processor.pushrequest.notsupported"));
+ doPush((PushToken) param);
+ break;
}
}
}
@@ -1852,6 +1849,29 @@ public class Http11Processor extends Abs
}
+ private void doHttpUpgrade(UpgradeToken upgradeToken) {
+ this.upgradeToken = upgradeToken;
+ // Stop further HTTP output
+ outputBuffer.responseFinished = true;
+ }
+
+
+ private boolean isPushSupported() {
+ // HTTP2 connections only. Unsupported for HTTP/1.x
+ return false;
+ }
+
+
+ /**
+ * @param pushToken Unused
+ */
+ private void doPush(PushToken pushToken) {
+ // HTTP2 connections only. Unsupported for AJP.
+ throw new UnsupportedOperationException(
+ sm.getString("http11processor.pushrequest.notsupported"));
+ }
+
+
/**
* Checks to see if the keep-alive loop should be broken, performing any
* processing (e.g. sendfile handling) that may have an impact on whether
Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1756104&r1=1756103&r2=1756104&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Fri Aug 12 07:47:25 2016
@@ -321,25 +321,18 @@ public class StreamProcessor extends Abs
// Servlet 3.1 HTTP Upgrade
case UPGRADE: {
- // Unsupported / illegal under HTTP/2
- throw new UnsupportedOperationException(
- sm.getString("streamProcessor.httpupgrade.notsupported"));
+ doHttpUpgrade((UpgradeToken) param);
+ break;
}
// Servlet 4.0 Push requests
case IS_PUSH_SUPPORTED: {
AtomicBoolean result = (AtomicBoolean) param;
- result.set(stream.isPushSupported());
+ result.set(isPushSupported());
break;
}
case PUSH_REQUEST: {
- try {
- PushToken pushToken = (PushToken) param;
- pushToken.setResult(stream.push(pushToken.getPushTarget()));
- } catch (IOException ioe) {
- setErrorState(ErrorState.CLOSE_CONNECTION_NOW, ioe);
- response.setErrorException(ioe);
- }
+ doPush((PushToken) param);
break;
}
}
@@ -467,6 +460,31 @@ public class StreamProcessor extends Abs
}
+ /**
+ * @param upgradeToken Unused
+ */
+ private void doHttpUpgrade(UpgradeToken upgradeToken) {
+ // Unsupported / illegal under HTTP/2
+ throw new UnsupportedOperationException(
+ sm.getString("streamProcessor.httpupgrade.notsupported"));
+ }
+
+
+ private boolean isPushSupported() {
+ return stream.isPushSupported();
+ }
+
+
+ private void doPush(PushToken pushToken) {
+ try {
+ pushToken.setResult(stream.push(pushToken.getPushTarget()));
+ } catch (IOException ioe) {
+ setErrorState(ErrorState.CLOSE_CONNECTION_NOW, ioe);
+ response.setErrorException(ioe);
+ }
+ }
+
+
@Override
public void recycle() {
// StreamProcessor instances are not re-used.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org