Make sure newlines at chunk borders do not get dropped using iter_lines.
authorChase Sterling <chase.sterling@gmail.com>
Tue, 3 Jan 2012 05:38:59 +0000 (00:38 -0500)
committerChase Sterling <chase.sterling@gmail.com>
Tue, 3 Jan 2012 05:38:59 +0000 (00:38 -0500)
requests/models.py

index 9b01fb2..5bfd3fa 100644 (file)
@@ -636,15 +636,15 @@ class Response(object):
         for chunk in self.iter_content(chunk_size, decode_unicode=decode_unicode):
             if pending is not None:
                 chunk = pending + chunk
-            lines = chunk.splitlines()
+            lines = chunk.splitlines(True)
             for line in lines[:-1]:
-                yield line
+                yield line.rstrip()
             # Save the last part of the chunk for next iteration, to keep full line together
             pending = lines[-1]
 
         # Yield the last line
         if pending is not None:
-            yield pending
+            yield pending.rstrip()
 
 
     @property