diff options
author | Deepak Kodihalli <dkodihal@in.ibm.com> | 2017-10-11 00:08:48 -0500 |
---|---|---|
committer | Deepak Kodihalli <dkodihal@in.ibm.com> | 2017-10-18 07:13:54 -0500 |
commit | 0fe213fbbd1bc5275c08f81c383f2b9292dde60e (patch) | |
tree | 062ee108d530f4360c32851ece8b4b2810097709 /servers/gevent | |
parent | 2c4d5175d6db96827a21b16ff218b97b3eb249e2 (diff) | |
download | phosphor-rest-server-0fe213fbbd1bc5275c08f81c383f2b9292dde60e.tar.gz phosphor-rest-server-0fe213fbbd1bc5275c08f81c383f2b9292dde60e.zip |
phosphor-gevent: enable websocket support
Set 'WebSocketHandler' as the handler_class.
Websockets are being supported to allow the REST server to be able to
"push" events to clients.
Change-Id: I4c5536ae9070635c00330bb59fc93d3b4382b461
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Diffstat (limited to 'servers/gevent')
-rw-r--r-- | servers/gevent/phosphor-gevent | 15 |
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() |