diff options
author | dandrzejewski <dandrzejewski@lx-dandrzejewski.datavantage.com> | 2013-04-15 09:48:31 -0400 |
---|---|---|
committer | dandrzejewski <dandrzejewski@lx-dandrzejewski.datavantage.com> | 2013-04-15 09:48:31 -0400 |
commit | 73ad982baa83b0f12ffdb5939184e0c1cf897791 (patch) | |
tree | 5ffc1df564818aed8bb7518d9a130139f19ee1ed | |
parent | 174800a9d230ca781811438ada0547808f6598d9 (diff) | |
download | cherrypy-73ad982baa83b0f12ffdb5939184e0c1cf897791.tar.gz |
Simplified SSL_fileobject.recv().
This should be a better resolution for issue #1068.
-rw-r--r-- | cherrypy/wsgiserver/ssl_pyopenssl.py | 13 |
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, |