code: def read_line(self, sep=six.b('\n')):
          
          start = 0
          while not self._stream.closed:
              loc = self._buffer.find(sep, start)
              if loc >= 0:
                  return self._pop(loc + len(sep))
              else:
                  start = len(self._buffer)
              self._buffer += self._stream.read(self._chunk_size)
          return six.b('')
docs: Read the data stream until a given separator is found (default \n)
  
          :param sep: Separator to read until. Must by of the bytes type (str in python 2,
              bytes in python 3)
          :return: The str of the data read until sep