You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I try to use Tornado with sockjs-tornado in Django environment. In my project Tornado work as Websocket server together with Django in classic Django application.
From client I send session cookie to server and in Tornado get Django user:
from sockjs.tornado import SockJSConnection
from django.utils.importlib import import_module
from django.contrib.auth import get_user
from django.conf import settings
session_engine = import_module(settings.SESSION_ENGINE)
class ChatConnection(SockJSConnection):
def get_session(self, session_key):
return session_engine.SessionStore(session_key)
def get_user(self, session):
class Dummy(object):
pass
django_request = Dummy()
django_request.session = session
return get_user(django_request)
def auth(self, session_id):
self.django_session = self.get_session(session_id)
self.user = self.get_user(self.django_session)
def on_message(self, msg):
msg = json.loads(msg)
if msg['event'] == 'auth':
self.auth(msg['content'])
For run Tornado app in Django environment I use simple management command:
class Command(NoArgsCommand):
args = ''
help = 'Run tornado.'
def handle_noargs(self, **options):
app = Application(AppRouter.urls, **app_settings)
app.listen(8880)
tornado.ioloop.IOLoop.instance().start()
The problem is that in Django environment errors not raised, and Tornado just close connection instead of raise exception. For example, if I write assert False in on_message method, that it will not have any effect other than closed connection. In the app settings debug mode enabled:
app_settings = {
'debug': True,
}
Out of Django environment all work fine and I see in the shell excited exception.
Django 1.6.8
Tornado 4.0.2
sockjs-tornado 1.0.1
The text was updated successfully, but these errors were encountered:
I try to use Tornado with sockjs-tornado in Django environment. In my project Tornado work as Websocket server together with Django in classic Django application.
From client I send session cookie to server and in Tornado get Django user:
For run Tornado app in Django environment I use simple management command:
The problem is that in Django environment errors not raised, and Tornado just close connection instead of raise exception. For example, if I write
assert False
inon_message
method, that it will not have any effect other than closed connection. In the app settings debug mode enabled:Out of Django environment all work fine and I see in the shell excited exception.
Django 1.6.8
Tornado 4.0.2
sockjs-tornado 1.0.1
The text was updated successfully, but these errors were encountered: