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