Mercurial > code > home > repos > homeauto
diff service/environment/patch_cyclone.py @ 1708:3cfd3693a4ac
quick fixes for cyclone sse
author | drewp@bigasterisk.com |
---|---|
date | Wed, 17 Nov 2021 14:25:14 -0800 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/environment/patch_cyclone.py Wed Nov 17 14:25:14 2021 -0800 @@ -0,0 +1,20 @@ + + +def patch_sse(): + from cyclone import escape + import cyclone.sse + def new_sendEvent(self, message, event=None, eid=None, retry=None): + if isinstance(message, dict): + message = escape.json_encode(message) + if isinstance(message, str): + message = message.encode("utf-8") + assert isinstance(message, bytes) + if eid: + self.transport.write(b"id: " + eid.encode("utf-8") + b"\n") + if event: + self.transport.write(b"event: " + event + b"\n") + if retry: + self.transport.write(b"retry: " + retry.encode("utf-8") + b"\n") + self.transport.write(b"data: " + message + b"\n\n") + + cyclone.sse.SSEHandler.sendEvent = new_sendEvent