]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Fix websocket after string type changes introduced by python3 merge
authorBen Darnell <ben@bendarnell.com>
Wed, 18 May 2011 06:13:36 +0000 (23:13 -0700)
committerBen Darnell <ben@bendarnell.com>
Wed, 18 May 2011 06:13:36 +0000 (23:13 -0700)
tornado/websocket.py

index 696a178d78b2272091fd76c577b018ba4b9f093e..1170cff8be0ca259fe24126752e76d26378a3a34 100644 (file)
@@ -87,7 +87,7 @@ class WebSocketHandler(tornado.web.RequestHandler):
         # This is necessary when using proxies (such as HAProxy), which
         # need to see the Upgrade headers before passing through the
         # non-HTTP traffic that follows.
-        self.stream.write(
+        self.stream.write(tornado.escape.utf8(
             "HTTP/1.1 101 Web Socket Protocol Handshake\r\n"
             "Upgrade: WebSocket\r\n"
             "Connection: Upgrade\r\n"
@@ -98,7 +98,7 @@ class WebSocketHandler(tornado.web.RequestHandler):
                     origin=self.request.headers["Origin"],
                     scheme=scheme,
                     host=self.request.host,
-                    uri=self.request.uri)))
+                    uri=self.request.uri))))
         self.stream.read_bytes(8, self._handle_challenge)
 
     def _handle_challenge(self, challenge):
@@ -259,9 +259,10 @@ class WebSocketRequest(object):
         """Processes the key headers and calculates their key value.
 
         Raises ValueError when feed invalid key."""
-        number, spaces = filter(str.isdigit, key), filter(str.isspace, key)
+        number = int(''.join(c for c in key if c.isdigit()))
+        spaces = len([c for c in key if c.isspace()])
         try:
-            key_number = int(number) / len(spaces)
+            key_number = number / spaces
         except (ValueError, ZeroDivisionError):
             raise ValueError
         return struct.pack(">I", key_number)