summaryrefslogtreecommitdiffstats
path: root/servers/gevent/phosphor-gevent
diff options
context:
space:
mode:
Diffstat (limited to 'servers/gevent/phosphor-gevent')
-rw-r--r--servers/gevent/phosphor-gevent15
1 files changed, 13 insertions, 2 deletions
diff --git a/servers/gevent/phosphor-gevent b/servers/gevent/phosphor-gevent
index 9767407..7907880 100644
--- a/servers/gevent/phosphor-gevent
+++ b/servers/gevent/phosphor-gevent
@@ -21,6 +21,11 @@ import sys
import os
import gevent
from gevent.pywsgi import WSGIServer
+have_wsock = True
+try:
+ from geventwebsocket.handler import WebSocketHandler
+except ImportError:
+ have_wsock = False
if __name__ == '__main__':
if len(sys.argv) < 2:
@@ -32,7 +37,10 @@ if __name__ == '__main__':
default_cert = os.path.join(
sys.prefix, 'share', os.path.basename(__file__), 'cert.pem')
- app = App()
+ kw = {}
+ if have_wsock:
+ kw['have_wsock'] = True
+ app = App(**kw)
if os.environ.get('LISTEN_PID', None) == str(os.getpid()):
FIRST_SYSTEMD_SOCKET_FD = 3
@@ -42,6 +50,9 @@ if __name__ == '__main__':
else:
bind = ('', 443)
+ kw = {}
+ if have_wsock:
+ kw['handler_class'] = WebSocketHandler
server = WSGIServer(
- bind, app, keyfile=default_cert, certfile=default_cert)
+ bind, app, keyfile=default_cert, certfile=default_cert, **kw)
server.serve_forever()
OpenPOWER on IntegriCloud