changeset 1585:c8092f6d70c0

add patch_cyclone_sse
author drewp@bigasterisk.com
date Sun, 29 Aug 2021 13:44:05 -0700
parents 0ca3228abade
children b459b5c3c33a
files service/mqtt_to_rdf/patch_cyclone_sse.py
diffstat 1 files changed, 21 insertions(+), 0 deletions(-) [+]
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