From 8fbde7a43b4f838df0379fdb4acd791713b639b7 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Sun, 15 Dec 2013 14:00:42 +0100 Subject: more options to get webUI through proxy working --- pyload/remote/WebSocketBackend.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'pyload/remote/WebSocketBackend.py') diff --git a/pyload/remote/WebSocketBackend.py b/pyload/remote/WebSocketBackend.py index d29470067..7238af679 100644 --- a/pyload/remote/WebSocketBackend.py +++ b/pyload/remote/WebSocketBackend.py @@ -21,12 +21,15 @@ import logging from RemoteManager import BackendBase from mod_pywebsocket import util + + def get_class_logger(o=None): return logging.getLogger('log') # Monkey patch for our logger util.get_class_logger = get_class_logger + class WebSocketBackend(BackendBase): def setup(self, host, port): @@ -42,8 +45,19 @@ class WebSocketBackend(BackendBase): options.dispatcher.addHandler(ApiHandler.PATH, ApiHandler(self.core.api)) options.dispatcher.addHandler(AsyncHandler.PATH, AsyncHandler(self.core.api)) - self.server = WebSocketServer(options) + # tls is needed when requested or webUI is also on tls + if self.core.api.isWSSecure(): + from wsbackend.Server import import_ssl + if import_ssl(): + options.use_tls = True + options.certificate = self.core.config['ssl']['cert'] + options.ca_certificate = options.certificate + options.private_key = self.core.config['ssl']['key'] + self.core.log.info(_('Using secure WebSocket')) + else: + self.core.log.warning(_('SSL could not be imported')) + self.server = WebSocketServer(options) def serve(self): self.server.serve_forever() -- cgit v1.2.3