socketIO-client/serve_tests.py
2013-04-18 07:32:46 -07:00

42 lines
1.1 KiB
Python

'Launch this server in another terminal window before running tests'
try:
from socketio import socketio_manage
from socketio.namespace import BaseNamespace
from socketio.server import SocketIOServer
except ImportError:
import sys
from setuptools.command import easy_install
easy_install.main(['-U', 'gevent-socketio'])
print('\nPlease run the script again to launch the test server.')
sys.exit(1)
class Namespace(BaseNamespace):
def on_aaa(self, *args):
self.emit('aaa_response', *args)
def on_bbb(self, *args):
def callback(*args):
self.emit('callback_response', *args)
self.emit('bbb_response', *args, callback=callback)
class App(object):
def __call__(self, environ, start_response):
socketio_manage(environ, {
'': Namespace,
'/chat': Namespace,
'/news': Namespace,
})
if __name__ == '__main__':
from socketIO_client.tests import PORT
print 'Starting server at port %s' % PORT
try:
server = SocketIOServer(('0.0.0.0', PORT), App())
server.serve_forever()
except KeyboardInterrupt:
pass