From a38142d5950a899c6e3f854841a45f4785515761 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Fri, 11 Sep 2015 01:17:39 +0200 Subject: don't yield empty chunks --- netlib/http/http1/protocol.py | 2 +- netlib/tcp.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'netlib') diff --git a/netlib/http/http1/protocol.py b/netlib/http/http1/protocol.py index bf33a18e..cf1dffa3 100644 --- a/netlib/http/http1/protocol.py +++ b/netlib/http/http1/protocol.py @@ -413,9 +413,9 @@ class HTTP1Protocol(semantics.ProtocolMixin): suffix = self.tcp_handler.rfile.readline(5) if suffix != '\r\n': raise HttpError(code, "Malformed chunked body") - yield chunk if length == 0: return + yield chunk @classmethod def _parse_http_protocol(self, line): diff --git a/netlib/tcp.py b/netlib/tcp.py index e9610099..4a7f6153 100644 --- a/netlib/tcp.py +++ b/netlib/tcp.py @@ -8,6 +8,7 @@ import time import traceback import certifi +import six import OpenSSL from OpenSSL import SSL @@ -295,7 +296,7 @@ class Reader(_FileLike): self.o._raise_ssl_error(self.o._ssl, result) return SSL._ffi.buffer(buf, result)[:] except SSL.Error as e: - raise NetLibSSLError(repr(e)) + six.reraise(NetLibSSLError, NetLibSSLError(str(e)), sys.exc_info()[2]) else: raise NotImplementedError("Can only peek into (pyOpenSSL) sockets") -- cgit v1.2.3