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
评论列表
文章目录