def startService(self): factory = WebSocketServerFactory(u"ws://127.0.0.1:%d" % self.port, debug=self.debug) factory.protocol = DispatcherProtocol factory.protocol.dispatcher = CommandDispatcher(self._core) # FIXME: Site.start/stopFactory should start/stop factories wrapped as # Resources factory.startFactory() resource = WebSocketResource(factory) # we server static files under "/" .. webdir = os.path.abspath( pkg_resources.resource_filename('leap.bitmask.core', 'web')) root = File(webdir) # and our WebSocket server under "/ws" root.putChild(u'bitmask', resource) # both under one Twisted Web Site site = Site(root) self.site = site self.factory = factory self.listener = reactor.listenTCP(self.port, site)
def startService(self): webdir = os.path.abspath( pkg_resources.resource_filename('leap.bitmask_www', 'public')) root = File(webdir) api = Api(CommandDispatcher(self._core)) root.putChild(u'API', api) site = Site(root) self.site = site # TODO use endpoints instead self.listener = reactor.listenTCP(self.port, site, interface='127.0.0.1')
class _DispatcherREPConnection(ZmqREPConnection): def __init__(self, zf, e, core): ZmqREPConnection.__init__(self, zf, e) self.dispatcher = CommandDispatcher(core) def gotMessage(self, msgId, *parts): r = self.dispatcher.dispatch(parts) r.addCallback(self.defer_reply, msgId) def defer_reply(self, response, msgId): reactor.callLater(0, self.reply, msgId, str(response)) def log_err(self, failure, msgId): log.err(failure) self.defer_reply("ERROR: %r" % failure, msgId) def do_greet(self): log.msg('starting ZMQ dispatcher')
def startService(self): if HAS_WEB_UI: webdir = os.path.abspath( pkg_resources.resource_filename('leap.bitmask_js', 'public')) log.debug('webdir: %s' % webdir) else: log.warn('bitmask_js not found, serving bitmask.core ui') webdir = os.path.abspath( pkg_resources.resource_filename( 'leap.bitmask.core.web', 'static')) jspath = os.path.join( here(), '..', '..', '..', 'ui', 'app', 'lib', 'bitmask.js') jsapi = File(os.path.abspath(jspath)) api = Api(CommandDispatcher(self._core), self._core.global_tokens) root = File(webdir) root.putChild(u'API', api) # XXX remove it we don't bring session tokens again # protected_api = protectedResourceFactory( # api, self._core.global_tokens, self.API_WHITELIST) # root.putChild(u'API', protected_api) if not HAS_WEB_UI: root.putChild('bitmask.js', jsapi) factory = Site(root) self.site = factory if self.onion and _has_txtorcon(): self._start_onion_service(factory) else: interface = '127.0.0.1' endpoint = endpoints.TCP4ServerEndpoint( reactor, self.port, interface=interface) self.uri = 'https://%s:%s' % (interface, self.port) endpoint.listen(factory) # TODO this should be set in a callback to the listen call self.running = True
def startService(self): if HAS_WEB_UI: webdir = os.path.abspath( pkg_resources.resource_filename('leap.bitmask_www', 'public')) else: log.msg('leap.bitmask_www not found, serving bitmask.core web ui') webdir = os.path.abspath( pkg_resources.resource_filename('leap.bitmask.core', 'web')) root = File(webdir) api = Api(CommandDispatcher(self._core)) root.putChild(u'API', api) site = Site(root) self.site = site # TODO use endpoints instead self.listener = reactor.listenTCP(self.port, site, interface='127.0.0.1') self.running = True
def __init__(self, zf, e, core): ZmqREPConnection.__init__(self, zf, e) self.dispatcher = CommandDispatcher(core)