diff options
author | 2013-12-15 14:00:42 +0100 | |
---|---|---|
committer | 2013-12-15 14:00:42 +0100 | |
commit | 8fbde7a43b4f838df0379fdb4acd791713b639b7 (patch) | |
tree | bb7e78afc6a34823e078ab64c6965321c6866e85 /pyload/remote/WebSocketBackend.py | |
parent | added new file states (diff) | |
download | pyload-8fbde7a43b4f838df0379fdb4acd791713b639b7.tar.xz |
more options to get webUI through proxy working
Diffstat (limited to 'pyload/remote/WebSocketBackend.py')
-rw-r--r-- | pyload/remote/WebSocketBackend.py | 16 |
1 files changed, 15 insertions, 1 deletions
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() |