view service/mqtt_to_rdf/patch_cyclone_sse.py @ 1671:2b905c07e82b

try a bnode test mode improvement, but it's not so useful if you parse graphs with reused bnodes in them
author drewp@bigasterisk.com
date Tue, 21 Sep 2021 23:21:38 -0700
parents c8092f6d70c0
children
line wrap: on
line source

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