From 39aef79821d9ad8d428b14b59190bd0ca0c550d9 Mon Sep 17 00:00:00 2001 From: Hye-Shik Chang Date: Sat, 5 Jun 2004 13:30:56 +0000 Subject: Fix a bug that robotparser starves memory when the server responses in HTTP/0.9 due to dissonance of httplib.LineAndFileWrapper and urllib.addbase. --- Lib/httplib.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'Lib/httplib.py') diff --git a/Lib/httplib.py b/Lib/httplib.py index 40e78b0faf..5133c8dbe5 100644 --- a/Lib/httplib.py +++ b/Lib/httplib.py @@ -1181,7 +1181,9 @@ class LineAndFileWrapper: self.readlines = self._file.readlines def read(self, amt=None): - assert not self._line_consumed and self._line_left + if self._line_consumed: + return self._file.read(amt) + assert self._line_left if amt is None or amt > self._line_left: s = self._line[self._line_offset:] self._done() @@ -1201,11 +1203,17 @@ class LineAndFileWrapper: return s def readline(self): + if self._line_consumed: + return self._file.readline() + assert self._line_left s = self._line[self._line_offset:] self._done() return s def readlines(self, size=None): + if self._line_consumed: + return self._file.readlines(size) + assert self._line_left L = [self._line[self._line_offset:]] self._done() if size is None: -- cgit v1.2.1