Mercurial > code > home > repos > homeauto
diff service/mqtt_to_rdf/patch_cyclone_sse.py @ 1585:c8092f6d70c0
add patch_cyclone_sse
author | drewp@bigasterisk.com |
---|---|
date | Sun, 29 Aug 2021 13:44:05 -0700 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/mqtt_to_rdf/patch_cyclone_sse.py Sun Aug 29 13:44:05 2021 -0700 @@ -0,0 +1,21 @@ +def patchCycloneSse(): + import cyclone.sse + from cyclone import escape + + def 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: %s\n" % eid) + if event: + self.transport.write(b"event: %s\n" % event) + if retry: + self.transport.write(b"retry: %s\n" % retry) + + self.transport.write(b"data: %s\n\n" % message) + + cyclone.sse.SSEHandler.sendEvent = sendEvent