code: def handle_stream(self, response):
          
          event = {}
          line_buffer = bytearray()
          try:
              for chunk in response.iter_content(chunk_size = 1):
                  if chunk:
                      for chunk_part in chunk:
                          chunk_part = bytearray([chunk_part])
                          if chunk_part == b'\n':
                              try:
                                  line = line_buffer.decode('utf-8')
                              except UnicodeDecodeError as err:
                                  exception = MastodonMalformedEventError("Malformed UTF-8")
                                  self.on_abort(exception)
                                  six.raise_from(
                                      exception,
                                      err
                                  )
                              if line == '':
                                  self._dispatch(event)
                                  event = {}
                              else:
                                  event = self._parse_line(line, event)
                              line_buffer = bytearray()
                          else:
                              line_buffer.extend(chunk_part)
          except ChunkedEncodingError as err:
              exception = MastodonNetworkError("Server ceased communication.")
              self.on_abort(exception)
              six.raise_from(
                  exception,
                  err
              )
          except MastodonReadTimeout as err:
              exception = MastodonReadTimeout("Timed out while reading from server."),
              self.on_abort(exception)
              six.raise_from(
                  exception,
                  err
              )
docs: Handles a stream of events from the Mastodon server. When each event
          is received, the corresponding .on_[name]() method is called.
  
          response; a requests response object with the open stream for reading.