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 2013/01/22 10:38:02 UTC

svn commit: r1436820 - in /tomcat/trunk/java/org/apache/tomcat/websocket: Constants.java server/WsServlet.java

Author: markt
Date: Tue Jan 22 09:38:02 2013
New Revision: 1436820

URL: http://svn.apache.org/viewvc?rev=1436820&view=rev
Log:
Add some constants and make use of them

Modified:
    tomcat/trunk/java/org/apache/tomcat/websocket/Constants.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/Constants.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/Constants.java?rev=1436820&r1=1436819&r2=1436820&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/Constants.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/Constants.java Tue Jan 22 09:38:02 2013
@@ -31,6 +31,16 @@ public class Constants {
     public static final byte OPCODE_PING = 0x09;
     public static final byte OPCODE_PONG = 0x0A;
 
+    // Client connection
+    public static final String HOST_HEADER_NAME = "Host";
+    public static final String UPGRADE_HEADER_NAME = "Upgrade";
+    public static final String UPGRADE_HEADER_VALUE = "websocket";
+    public static final String CONNECTION_HEADER_NAME = "Connection";
+    public static final String CONNECTION_HEADER_VALUE = "upgrade";
+    public static final String WS_VERSION_HEADER_NAME = "Sec-WebSocket-Version";
+    public static final String WS_VERSION_HEADER_VALUE = "13";
+    public static final String WS_KEY_HEADER_NAME = "Sec-WebSocket-Key";
+
 
     private Constants() {
         // Hide default constructor

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java?rev=1436820&r1=1436819&r2=1436820&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java Tue Jan 22 09:38:02 2013
@@ -38,6 +38,7 @@ import javax.websocket.Extension;
 import javax.websocket.server.ServerEndpointConfiguration;
 import javax.xml.bind.DatatypeConverter;
 
+import org.apache.tomcat.websocket.Constants;
 
 /**
  * Handles the initial HTTP connection for WebSocket connections.
@@ -60,20 +61,24 @@ public class WsServlet extends HttpServl
         String key;
         String subProtocol = null;
         List<Extension> extensions = Collections.emptyList();
-        if (!headerContainsToken(req, "upgrade", "websocket")) {
+        if (!headerContainsToken(req, Constants.UPGRADE_HEADER_NAME,
+                Constants.UPGRADE_HEADER_VALUE)) {
             resp.sendError(HttpServletResponse.SC_BAD_REQUEST);
             return;
         }
-        if (!headerContainsToken(req, "connection", "upgrade")) {
+        if (!headerContainsToken(req, Constants.CONNECTION_HEADER_NAME,
+                Constants.CONNECTION_HEADER_VALUE)) {
             resp.sendError(HttpServletResponse.SC_BAD_REQUEST);
             return;
         }
-        if (!headerContainsToken(req, "sec-websocket-version", "13")) {
+        if (!headerContainsToken(req, Constants.WS_VERSION_HEADER_NAME,
+                Constants.WS_VERSION_HEADER_VALUE)) {
             resp.setStatus(426);
-            resp.setHeader("Sec-WebSocket-Version", "13");
+            resp.setHeader(Constants.WS_VERSION_HEADER_NAME,
+                    Constants.WS_VERSION_HEADER_VALUE);
             return;
         }
-        key = req.getHeader("Sec-WebSocket-Key");
+        key = req.getHeader(Constants.WS_KEY_HEADER_NAME);
         if (key == null) {
             resp.sendError(HttpServletResponse.SC_BAD_REQUEST);
             return;
@@ -102,8 +107,10 @@ public class WsServlet extends HttpServl
             // extensions = sec.getNegotiatedExtensions(requestedExtensions);
         }
         // If we got this far, all is good. Accept the connection.
-        resp.setHeader("Upgrade", "websocket");
-        resp.setHeader("Connection", "upgrade");
+        resp.setHeader(Constants.UPGRADE_HEADER_NAME,
+                Constants.UPGRADE_HEADER_VALUE);
+        resp.setHeader(Constants.CONNECTION_HEADER_NAME,
+                Constants.CONNECTION_HEADER_VALUE);
         resp.setHeader("Sec-WebSocket-Accept", getWebSocketAccept(key));
         if (subProtocol != null) {
             resp.setHeader("Sec-WebSocket-Protocol", subProtocol);



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