Model tornado websockets

This commit is contained in:
Joe Farebrother
2025-11-14 09:58:52 +00:00
parent 4d4a677da0
commit cdc44c3267
2 changed files with 81 additions and 0 deletions

View File

@@ -54,6 +54,27 @@ class PossiblyNotRouted(tornado.web.RequestHandler):
def get(self): # $ requestHandler
self.write("NotRouted") # $ HttpResponse
class WebSocket(tornado.websocket.WebSocketHandler):
def open(self, x): # $ requestHandler routedParameter=x
self.write_message("WebSocket open {}".format(x))
def on_message(self, data): # $ requestHandler routedParameter=data
self.write_message("WebSocket on_message {}".format(data))
def on_ping(self, data): # $ requestHandler routedParameter=data
print("ping", data)
def on_pong(self, data): # $ requestHandler routedParameter=data
print("pong", data)
def select_subprotocol(self, subs): # $ requestHandler routedParameter=subs
print("select_subprotocol", subs)
def check_origin(self, origin): # $ requestHandler routedParameter=origin
print("check_origin", origin)
return True
def make_app():
# see https://www.tornadoweb.org/en/stable/routing.html for even more examples
@@ -74,6 +95,7 @@ def make_app():
(tornado.routing.HostMatches(r"(localhost|127\.0\.0\.1)"), [
("/only-localhost", OnlyLocalhost) # $ routeSetup="/only-localhost"
]),
(r"/websocket/([0-9]+)", WebSocket), # $ routeSetup="/websocket/([0-9]+)"
],
debug=True,