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 2012/11/24 18:11:31 UTC

svn commit: r1413205 - in /tomcat/trunk/java: javax/servlet/http/HttpServletRequest.java org/apache/catalina/connector/Request.java org/apache/catalina/connector/RequestFacade.java

Author: markt
Date: Sat Nov 24 17:11:29 2012
New Revision: 1413205

URL: http://svn.apache.org/viewvc?rev=1413205&view=rev
Log:
Change Request API to use Servlet 3.1 API for HTTP Upgrade
- WebSocket is now broken
- Upgrade process is broken / incomplete

Modified:
    tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java
    tomcat/trunk/java/org/apache/catalina/connector/Request.java
    tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java

Modified: tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java?rev=1413205&r1=1413204&r2=1413205&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java (original)
+++ tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java Sat Nov 24 17:11:29 2012
@@ -494,7 +494,10 @@ public interface HttpServletRequest exte
     /**
      * Start the HTTP upgrade process and pass the connection to the provided
      * protocol handler once the current request/response pair has completed
-     * processing.
+     * processing. Calling this method sets the response status to {@link
+     * HttpServletResponse#SC_SWITCHING_PROTOCOLS} and flushes the response.
+     * Protocol specific headers must have already been set before this method
+     * is called.
      *
      * @since Servlet 3.1
      */

Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1413205&r1=1413204&r2=1413205&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Sat Nov 24 17:11:29 2012
@@ -76,7 +76,6 @@ import org.apache.catalina.mapper.Mappin
 import org.apache.catalina.util.ParameterMap;
 import org.apache.catalina.util.StringParser;
 import org.apache.coyote.ActionCode;
-import org.apache.coyote.http11.upgrade.UpgradeInbound;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.ExceptionUtils;
@@ -1862,12 +1861,18 @@ public class Request
     // --------------------------------------------- HttpServletRequest Methods
 
     /**
-     * TODO SERVLET 3.1
+     * {@inheritDoc}
+     *
+     * @since Servlet 3.1
      */
     @Override
     public void upgrade(ProtocolHandler handler) throws IOException {
-        // TODO Auto-generated method stub
+        coyoteRequest.action(ActionCode.UPGRADE, handler);
 
+        // Output required by RFC2616. Protocol specific headers should have
+        // already been set.
+        response.setStatus(HttpServletResponse.SC_SWITCHING_PROTOCOLS);
+        response.flushBuffer();
     }
 
     /**
@@ -2639,23 +2644,8 @@ public class Request
     }
 
 
-    // --------------------------------------------------------- Upgrade Methods
-
-    public void doUpgrade(UpgradeInbound inbound)
-            throws IOException {
-
-        coyoteRequest.action(ActionCode.UPGRADE, inbound);
-
-        // Output required by RFC2616. Protocol specific headers should have
-        // already been set.
-        response.setStatus(HttpServletResponse.SC_SWITCHING_PROTOCOLS);
-        response.flushBuffer();
-    }
-
-
     // ------------------------------------------------------ Protected Methods
 
-
     protected Session doGetSession(boolean create) {
 
         // There cannot be a session if no context has been assigned yet

Modified: tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java?rev=1413205&r1=1413204&r2=1413205&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java Sat Nov 24 17:11:29 2012
@@ -42,7 +42,6 @@ import javax.servlet.http.ProtocolHandle
 
 import org.apache.catalina.Globals;
 import org.apache.catalina.security.SecurityUtil;
-import org.apache.coyote.http11.upgrade.UpgradeInbound;
 import org.apache.tomcat.util.res.StringManager;
 
 /**
@@ -1088,37 +1087,22 @@ public class RequestFacade implements Ht
     }
 
     /**
-     * Sets the response status to {@link
-     * HttpServletResponse#SC_SWITCHING_PROTOCOLS} and flushes the response.
-     * Protocol specific headers must have already been set before this method
-     * is called.
+     * {@inheritDoc}
      *
-     * @param inbound   The handler for all further incoming data on the current
-     *                  connection.
-     *
-     * @throws IOException  If the upgrade fails (e.g. if the response has
-     *                      already been committed.
-     */
-    public void doUpgrade(UpgradeInbound inbound)
-            throws IOException {
-        request.doUpgrade(inbound);
-    }
-
-
-    /**
-     * TODO SERVLET 3.1
+     * @since Servlet 3.1
      */
     @Override
     public long getContentLengthLong() {
         return request.getContentLengthLong();
     }
 
-
     /**
-     * TODO SERVLET 3.1
-     */    @Override
+     * {@inheritDoc}
+     *
+     * @since Servlet 3.1
+     */
+    @Override
     public void upgrade(ProtocolHandler handler) throws IOException {
+        request.upgrade(handler);
     }
-
-
 }



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