Mercurial > code > home > repos > reposync
diff patch_cyclone_sse.py @ 18:6f38aa08408d
starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
author | drewp@bigasterisk.com |
---|---|
date | Sun, 09 Jan 2022 00:21:41 -0800 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patch_cyclone_sse.py Sun Jan 09 00:21:41 2022 -0800 @@ -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