code: def _read(self):
          
          data = b''
          for chunk in self._event_source:
              for line in chunk.splitlines(True):
                  data += line
                  if data.endswith((b'\r\r', b'\n\n', b'\r\n\r\n')):
                      yield data
                      data = b''
          if data:
              yield data
docs: Read the incoming event source stream and yield event chunks.
  
          Unfortunately it is possible for some servers to decide to break an
          event into multiple HTTP chunks in the response. It is thus necessary
          to correctly stitch together consecutive response chunks and find the
          SSE delimiter (empty new line) to yield full, correct event chunks.