]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
WebSocket: misc. from code review
authorJames Maier <James.Maier@viasat.com>
Mon, 9 Jan 2017 03:52:02 +0000 (22:52 -0500)
committerJames Maier <James.Maier@viasat.com>
Mon, 9 Jan 2017 03:52:02 +0000 (22:52 -0500)
docs/websocket.rst
tornado/test/websocket_test.py
tornado/websocket.py

index 5d36d2349fb18164993d380fac5cbcb93d127767..b3596d4cf49358d47b188540347a8667606a77c6 100644 (file)
@@ -22,7 +22,6 @@
 
    .. automethod:: WebSocketHandler.write_message
    .. automethod:: WebSocketHandler.close
-   .. automethod:: WebSocketHandler.set_default_headers
 
    Configuration
    -------------
index 659b2f00000324c701410c8ba61e82f524140452..8de1b95af23fb7e8c6a413573f43ccc78f1d5c4e 100644 (file)
@@ -1,8 +1,6 @@
 from __future__ import absolute_import, division, print_function, with_statement
 
 import functools
-import random
-import string
 import traceback
 
 from tornado.concurrent import Future
@@ -82,10 +80,12 @@ class HeaderHandler(TestWebSocketHandler):
 
 class HeaderEchoHandler(TestWebSocketHandler):
     def set_default_headers(self):
+        self.set_header("X-Extra-Response-Header", "Extra-Response-Value")
+
+    def prepare(self):
         for k, v in self.request.headers.get_all():
             if k.lower().startswith('x-test'):
                 self.set_header(k, v)
-        self.set_header("X-Extra-Response-Header", "Extra-Response-Value")
 
 
 class NonWebSocketHandler(RequestHandler):
@@ -256,16 +256,10 @@ class WebSocketTest(WebSocketBaseTestCase):
         # Ensure that headers can be returned in the response.
         # Specifically, that arbitrary headers passed through websocket_connect
         # can be returned.
-        random_str = ''.join(random.choice(string.ascii_lowercase)
-                             for i in range(10))
         ws = yield websocket_connect(
             HTTPRequest('ws://127.0.0.1:%d/header_echo' % self.get_http_port(),
-                        headers={'X-Test-Hello': 'hello',
-                                 'X-Test-Goodbye': 'goodbye',
-                                 'X-Test-Random': random_str}))
+                        headers={'X-Test-Hello': 'hello'}))
         self.assertEqual(ws.headers.get('X-Test-Hello'), 'hello')
-        self.assertEqual(ws.headers.get('X-Test-Goodbye'), 'goodbye')
-        self.assertEqual(ws.headers.get('X-Test-Random'), random_str)
         self.assertEqual(ws.headers.get('X-Extra-Response-Header'), 'Extra-Response-Value')
         yield self.close(ws)
 
index 625e430393d20d6c66512a13e9b44fbcdcf94a42..65bbb4af1e481df2ea7ac1f27efddae823d1088b 100644 (file)
@@ -66,7 +66,7 @@ class WebSocketHandler(tornado.web.RequestHandler):
     connections.
 
     Custom upgrade response headers can be sent by overriding
-    `set_default_headers`.
+    `set_default_headers` or `prepare`.
 
     See http://dev.w3.org/html5/websockets/ for details on the
     JavaScript interface.  The protocol is specified at
@@ -236,17 +236,6 @@ class WebSocketHandler(tornado.web.RequestHandler):
         """
         return None
 
-    def set_default_headers(self):
-        """Override this to set HTTP headers at the beginning of the
-           WebSocket upgrade request.
-
-        For example, this is the place to set a custom ``Server`` header.
-        Note that setting such headers in the normal flow of request
-        processing may not do what you want, since headers may be reset
-        during error handling.
-        """
-        pass
-
     def open(self, *args, **kwargs):
         """Invoked when a new WebSocket is opened.