]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
WebSocket: fix 426 error code
authorJames Maier <James.Maier@viasat.com>
Mon, 9 Jan 2017 03:11:51 +0000 (22:11 -0500)
committerJames Maier <James.Maier@viasat.com>
Mon, 9 Jan 2017 03:11:51 +0000 (22:11 -0500)
tornado/test/websocket_test.py
tornado/websocket.py

index acd61fad14fca6cc5f9a4656646eaf43df6d152b..bcf5e1327deb13488aabf7795420a8b18d7516a2 100644 (file)
@@ -145,6 +145,13 @@ class WebSocketTest(WebSocketBaseTestCase):
         response = self.fetch('/echo')
         self.assertEqual(response.code, 400)
 
+    def test_bad_websocket_version(self):
+        response = self.fetch('/echo',
+                              headers={'Connection': 'Upgrade',
+                                       'Upgrade': 'WebSocket',
+                                       'Sec-WebSocket-Version': '12'})
+        self.assertEqual(response.code, 426)
+
     @gen_test
     def test_websocket_gen(self):
         ws = yield self.ws_connect('/echo')
index e4a65a9287eec947a3202b92bd00387e76169715..e55e7246bc31a14bf4d7f02d8c612f5e2bebb597 100644 (file)
@@ -183,7 +183,7 @@ class WebSocketHandler(tornado.web.RequestHandler):
         if self.ws_connection:
             self.ws_connection.accept_connection()
         else:
-            self.set_status(426)
+            self.set_status(426, "Upgrade Required")
             self.set_header("Sec-WebSocket-Version", "7, 8, 13")
             self.finish()