Index: xmlrpclib.py =================================================================== --- xmlrpclib.py (révision 79212) +++ xmlrpclib.py (copie de travail) @@ -1294,7 +1294,13 @@ response = h.getresponse(buffering=True) if response.status == 200: self.verbose = verbose - return self.parse_response(response) + + # read response data from httpresponse, and parse it + if response.getheader("Content-Encoding", "") == "gzip": + stream = GzipDecodedResponse(response) + else: + stream = response + return self.parse_response(stream) except Fault: raise except Exception: @@ -1444,25 +1450,18 @@ # @param file Stream. # @return Response tuple and target method. - def parse_response(self, response): - # read response data from httpresponse, and parse it - if response.getheader("Content-Encoding", "") == "gzip": - stream = GzipDecodedResponse(response) - else: - stream = response - + def parse_response(self, file): p, u = self.getparser() while 1: - data = stream.read(1024) + data = file.read(1024) if not data: break if self.verbose: print "body:", repr(data) p.feed(data) - if stream is not response: - stream.close() + file.close() p.close() return u.close()