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/02/27 16:02:12 UTC

svn commit: r1662718 - in /tomcat/trunk/java/org/apache/coyote/http11: AbstractHttp11Protocol.java upgrade/UpgradeProcessorBase.java upgrade/UpgradeProcessorExternal.java upgrade/UpgradeProcessorInternal.java

Author: markt
Date: Fri Feb 27 15:02:12 2015
New Revision: 1662718

URL: http://svn.apache.org/r1662718
Log:
Fix NPE

Modified:
    tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.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=1662718&r1=1662717&r2=1662718&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java Fri Feb 27 15:02:12 2015
@@ -289,7 +289,7 @@ public abstract class AbstractHttp11Prot
                 return new UpgradeProcessorInternal(socket, leftoverInput,
                         (InternalHttpUpgradeHandler) httpUpgradeHandler);
             } else {
-                return new UpgradeProcessorExternal(socket, leftoverInput);
+                return new UpgradeProcessorExternal(socket, leftoverInput, httpUpgradeHandler);
             }
         }
     }

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java?rev=1662718&r1=1662717&r2=1662718&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java Fri Feb 27 15:02:12 2015
@@ -34,7 +34,11 @@ public abstract class UpgradeProcessorBa
 
     protected static final int INFINITE_TIMEOUT = -1;
 
-    public UpgradeProcessorBase(SocketWrapperBase<?> wrapper, ByteBuffer leftOverInput) {
+    private final HttpUpgradeHandler httpUpgradeHandler;
+
+    public UpgradeProcessorBase(SocketWrapperBase<?> wrapper, ByteBuffer leftOverInput,
+            HttpUpgradeHandler httpUpgradeHandler) {
+        this.httpUpgradeHandler = httpUpgradeHandler;
         wrapper.unRead(leftOverInput);
     }
 
@@ -48,19 +52,19 @@ public abstract class UpgradeProcessorBa
 
 
     @Override
-    public final void recycle() {
-        // Currently a NO-OP as upgrade processors are not recycled.
+    public HttpUpgradeHandler getHttpUpgradeHandler() {
+        return httpUpgradeHandler;
     }
 
 
-    // ---------------------------- Processor methods that are NO-OP for upgrade
-
     @Override
-    public HttpUpgradeHandler getHttpUpgradeHandler() {
-        return null;
+    public final void recycle() {
+        // Currently a NO-OP as upgrade processors are not recycled.
     }
 
 
+    // ---------------------------- Processor methods that are NO-OP for upgrade
+
     @Override
     public final Executor getExecutor() {
         return null;

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java?rev=1662718&r1=1662717&r2=1662718&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java Fri Feb 27 15:02:12 2015
@@ -21,6 +21,7 @@ import java.nio.ByteBuffer;
 
 import javax.servlet.ServletInputStream;
 import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpUpgradeHandler;
 
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
@@ -38,8 +39,9 @@ public class UpgradeProcessorExternal ex
     private final UpgradeServletOutputStream upgradeServletOutputStream;
 
 
-    public UpgradeProcessorExternal(SocketWrapperBase<?> wrapper, ByteBuffer leftOverInput) {
-        super(wrapper, leftOverInput);
+    public UpgradeProcessorExternal(SocketWrapperBase<?> wrapper, ByteBuffer leftOverInput,
+            HttpUpgradeHandler httpUpgradeHandler) {
+        super(wrapper, leftOverInput, httpUpgradeHandler);
         this.upgradeServletInputStream = new UpgradeServletInputStream(wrapper);
         this.upgradeServletOutputStream = new UpgradeServletOutputStream(wrapper);
 

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java?rev=1662718&r1=1662717&r2=1662718&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java Fri Feb 27 15:02:12 2015
@@ -32,7 +32,7 @@ public class UpgradeProcessorInternal ex
 
     public UpgradeProcessorInternal(SocketWrapperBase<?> wrapper, ByteBuffer leftOverInput,
             InternalHttpUpgradeHandler internalHttpUpgradeHandler) {
-        super(wrapper, leftOverInput);
+        super(wrapper, leftOverInput, internalHttpUpgradeHandler);
         this.internalHttpUpgradeHandler = internalHttpUpgradeHandler;
         /*
          * Leave timeouts in the hands of the upgraded protocol.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org