Skip to content

Commit 5a069a8

Browse files
authored
Merge pull request #2920 from ploxiln/websocket_no_redirect
websocket: set follow_redirects to False
2 parents 894c8a4 + 3e13fd2 commit 5a069a8

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

tornado/test/websocket_test.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,11 @@ def get(self):
111111
self.write("ok")
112112

113113

114+
class RedirectHandler(RequestHandler):
115+
def get(self):
116+
self.redirect("/echo")
117+
118+
114119
class CloseReasonHandler(TestWebSocketHandler):
115120
def open(self):
116121
self.on_close_called = False
@@ -221,6 +226,7 @@ def get_app(self):
221226
[
222227
("/echo", EchoHandler, dict(close_future=self.close_future)),
223228
("/non_ws", NonWebSocketHandler),
229+
("/redirect", RedirectHandler),
224230
("/header", HeaderHandler, dict(close_future=self.close_future)),
225231
(
226232
"/header_echo",
@@ -365,6 +371,11 @@ def test_websocket_http_success(self):
365371
with self.assertRaises(WebSocketError):
366372
yield self.ws_connect("/non_ws")
367373

374+
@gen_test
375+
def test_websocket_http_redirect(self):
376+
with self.assertRaises(HTTPError):
377+
yield self.ws_connect("/redirect")
378+
368379
@gen_test
369380
def test_websocket_network_fail(self):
370381
sock, port = bind_unused_port()

tornado/websocket.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1409,6 +1409,9 @@ def __init__(
14091409
"Sec-WebSocket-Extensions"
14101410
] = "permessage-deflate; client_max_window_bits"
14111411

1412+
# Websocket connection is currently unable to follow redirects
1413+
request.follow_redirects = False
1414+
14121415
self.tcp_client = TCPClient()
14131416
super().__init__(
14141417
None,

0 commit comments

Comments
 (0)