def setup(self): '''This method is called once only to setup the WSGI application handler as described in :ref:`lazy wsgi handler <wsgi-lazy-handler>` section. It creates a :ref:`publish/subscribe handler <apps-pubsub>` and subscribe it to the ``webchat`` channel.''' backend = self.cfg.get('backend_server') self.pubsub = pubsub.PubSub(backend, encoder=self.encode_message) self.pubsub.subscribe('webchat') return wsgi.WsgiHandler([ wsgi.Router('/', get=self.home_page), ws.WebSocket('/message', Chat(self.pubsub)), wsgi.Router('/rpc', post=Rpc(self.pubsub)) ])
def setup(self, environ): '''Called once to setup the list of wsgi middleware.''' json_handler = Root().putSubHandler('calc', Calculator()) middleware = wsgi.Router('/', post=json_handler, accept_content_types=JSON_CONTENT_TYPES) response = [wsgi.GZipMiddleware(200)] return wsgi.WsgiHandler(middleware=[middleware], response_middleware=response)
def setup(self, environ): '''Called once only to setup the WSGI application handler. Check :ref:`lazy wsgi handler <wsgi-lazy-handler>` section for further information. ''' cfg = environ['pulsar.cfg'] loop = environ['pulsar.connection']._loop self.store = data.create_store(cfg.data_store, loop=loop) pubsub = self.store.pubsub(protocol=WsProtocol()) channel = '%s_messages' % self.name pubsub.subscribe(channel) middleware = [wsgi.Router('/', get=self.home_page), ws.WebSocket('/message', PhilosopherWs(pubsub, channel)), wsgi.FileRouter('/favicon.ico', FAVICON), wsgi.MediaRouter('media', ASSET_DIR)] return wsgi.WsgiHandler(middleware)
def setup(self, environ): return wsgi.WsgiHandler([ wsgi.Router('/', get=self.home), ws.WebSocket('/data', Graph(), parser_factory=self._factory), ws.WebSocket('/echo', Echo(), parser_factory=self._factory) ])
def setup(self, environ): return wsgi.WsgiHandler([ ws.WebSocket('/message', WsMail()), wsgi.MediaRouter('/media', ASSET_DIR), wsgi.Router('/', get=self.home) ])
def setup(self): return wsgi.WsgiHandler([ wsgi.Router('/', get=self.home), ws.WebSocket('/data', Graph()), ws.WebSocket('/echo', Echo()) ])
import asyncio import json import logging import pulsar.api as pulsar import pulsar.apps.wsgi as wsgi from pulsar.apps.wsgi import AccessControl import classifier_managers.network_manager, classifier_managers.bayes_manager, classifier_managers.svm_manager from data_provider import init_data_provider app = wsgi.Router('/') arbiter = pulsar.arbiter() algorithm_opts = ['svm', 'bayes', 'network', 'all'] svm_manager_actor, bayes_manager_actor, network_manager_actor = None, None, None data_provider = None async def spawn_managers(algo='all'): global arbiter, svm_manager_actor, bayes_manager_actor, network_manager_actor if not svm_manager_actor and algo in ['svm', 'all']: svm_manager_actor = await pulsar.spawn(name='svm_manager_actor', aid='svm_manager_actor') if not bayes_manager_actor and algo in ['bayes', 'all']: bayes_manager_actor = await pulsar.spawn(name='bayes_manager_actor', aid='bayes_manager_actor')
def setup(self, environ): # only post allowed by the JSON RPC handler request = [wsgi.Router('/', post=RpcRoot(self.tqname))] response = [wsgi.GZipMiddleware(200)] return wsgi.WsgiHandler(middleware=request, response_middleware=response)