def iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=False, delimiter=None):
pending = None<EOL>for chunk in self.iter_content(chunk_size=chunk_size, decode_unicode=decode_unicode):<EOL><INDENT>if pending is not None:<EOL><INDENT>chunk = pending + chunk<EOL><DEDENT>if delimiter:<EOL><INDENT>lines = chunk.split(delimiter)<EOL><DEDENT>else:<EOL><INDENT>lines = chunk.splitlines()<EOL><DEDENT>if lines and lines[-<NUM_LIT:1>] and chunk and lines[-<NUM_LIT:1>][-<NUM_LIT:1>] == chunk[-<NUM_LIT:1>]:<EOL><INDENT>pending = lines.pop()<EOL><DEDENT>else:<EOL><INDENT>pending = None<EOL><DEDENT>for line in lines:<EOL><INDENT>yield line<EOL><DEDENT><DEDENT>if pending is not None:<EOL><INDENT>yield pending<EOL><DEDENT>
Iterates over the response data, one line at a time.  When
        stream=True is set on the request, this avoids reading the
        content at once into memory for large responses.

        .. note:: This method is not reentrant safe.