diff --git a/wsrpc/websocket/handler.py b/wsrpc/websocket/handler.py index 0d5c949..dd40584 100644 --- a/wsrpc/websocket/handler.py +++ b/wsrpc/websocket/handler.py @@ -102,7 +102,14 @@ def _execute(self, transforms, *args, **kwargs): if self.authorize(): return super(WebSocketBase, self)._execute(transforms, *args, **kwargs) else: - return self.send_error(403) + if self._transforms is None: + self._transforms = [] + + f = tornado.gen.Future() + def resolve(): + f.set_result(self.send_error(403)) + tornado.ioloop.IOLoop.instance().add_callback(resolve) + return f def authorize(self): return True