summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordandrzejewski <dandrzejewski@lx-dandrzejewski.datavantage.com>2013-04-15 09:48:31 -0400
committerdandrzejewski <dandrzejewski@lx-dandrzejewski.datavantage.com>2013-04-15 09:48:31 -0400
commit73ad982baa83b0f12ffdb5939184e0c1cf897791 (patch)
tree5ffc1df564818aed8bb7518d9a130139f19ee1ed
parent174800a9d230ca781811438ada0547808f6598d9 (diff)
downloadcherrypy-73ad982baa83b0f12ffdb5939184e0c1cf897791.tar.gz
Simplified SSL_fileobject.recv().
This should be a better resolution for issue #1068.
-rw-r--r--cherrypy/wsgiserver/ssl_pyopenssl.py13
1 files changed, 2 insertions, 11 deletions
diff --git a/cherrypy/wsgiserver/ssl_pyopenssl.py b/cherrypy/wsgiserver/ssl_pyopenssl.py
index 086cca18..6cfebdc6 100644
--- a/cherrypy/wsgiserver/ssl_pyopenssl.py
+++ b/cherrypy/wsgiserver/ssl_pyopenssl.py
@@ -96,17 +96,8 @@ class SSL_fileobject(wsgiserver.CP_fileobject):
if time.time() - start > self.ssl_timeout:
raise socket.timeout("timed out")
- def recv(self, *args, **kwargs):
- buf = []
- r = super(SSL_fileobject, self).recv
- while True:
- data = self._safe_call(True, r, *args, **kwargs)
- buf.append(data)
- p = self._sock.pending()
- if not p:
- return "".join(buf)
- elif len("".join(buf)) + p >= args[0]:
- return "".join(buf)
+ def recv(self, size):
+ return self._safe_call(True, super(SSL_fileobject, self).recv, size)
def sendall(self, *args, **kwargs):
return self._safe_call(False, super(SSL_fileobject, self).sendall,