'Iterates over the response data, one line at a time.  This
avoids reading the content at once into memory for large
responses.'

def iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=None):

    pending = None
    for chunk in self.iter_content(chunk_size=chunk_size, decode_unicode=decode_unicode):
        if (pending is not None):
            chunk = (pending + chunk)
        lines = chunk.splitlines()
        if (lines and lines[(-1)] and chunk and (lines[(-1)][(-1)] == chunk[(-1)])):
            pending = lines.pop()
        else:
            pending = None
        for line in lines:
            (yield line)
    if (pending is not None):
        (yield pending)
