summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/http/client.py10
-rw-r--r--Lib/xmlrpc/client.py21
2 files changed, 7 insertions, 24 deletions
diff --git a/Lib/http/client.py b/Lib/http/client.py
index d2900b1..f816d58 100644
--- a/Lib/http/client.py
+++ b/Lib/http/client.py
@@ -265,14 +265,14 @@ class HTTPResponse:
# accepts iso-8859-1.
def __init__(self, sock, debuglevel=0, strict=0, method=None):
- # XXX If the response includes a content-length header, we
+ # If the response includes a content-length header, we
# need to make sure that the client doesn't read more than the
# specified number of bytes. If it does, it will block until
# the server times out and closes the connection. (The only
- # applies to HTTP/1.1 connections.) Since some clients access
- # self.fp directly rather than calling read(), this is a little
- # tricky.
- self.fp = sock.makefile("rb", 0)
+ # applies to HTTP/1.1 connections.) This will happen if a self.fp.read()
+ # is done (without a size) whether self.fp is buffered or not.
+ # So, no self.fp.read() by clients unless they know what they are doing.
+ self.fp = sock.makefile("rb")
self.debuglevel = debuglevel
self.strict = strict
self._method = method
diff --git a/Lib/xmlrpc/client.py b/Lib/xmlrpc/client.py
index c752621..e66ee84 100644
--- a/Lib/xmlrpc/client.py
+++ b/Lib/xmlrpc/client.py
@@ -1129,7 +1129,7 @@ class Transport:
self.verbose = verbose
- return self._parse_response(resp, None)
+ return self.parse_response(resp)
##
# Create parser.
@@ -1212,29 +1212,12 @@ class Transport:
# @return Response tuple and target method.
def parse_response(self, file):
- # compatibility interface
- return self._parse_response(file, None)
-
- ##
- # Parse response (alternate interface). This is similar to the
- # parse_response method, but also provides direct access to the
- # underlying socket object (where available).
- #
- # @param file Stream.
- # @param sock Socket handle (or None, if the socket object
- # could not be accessed).
- # @return Response tuple and target method.
-
- def _parse_response(self, file, sock):
# read response from input file/socket, and parse it
p, u = self.getparser()
while 1:
- if sock:
- response = sock.recv(1024)
- else:
- response = file.read(1024)
+ response = file.read(1024)
if not response:
break
if self.verbose: