aboutsummaryrefslogtreecommitdiffstats
path: root/netlib
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-09-11 01:17:39 +0200
committerMaximilian Hils <git@maximilianhils.com>2015-09-11 01:17:39 +0200
commita38142d5950a899c6e3f854841a45f4785515761 (patch)
tree9fe9a9d2a5b3133c9607bb62ab3bef20ab374cb4 /netlib
parent92c763f469fdf721f3d981346f8a40e33b06de23 (diff)
downloadmitmproxy-a38142d5950a899c6e3f854841a45f4785515761.tar.gz
mitmproxy-a38142d5950a899c6e3f854841a45f4785515761.tar.bz2
mitmproxy-a38142d5950a899c6e3f854841a45f4785515761.zip
don't yield empty chunks
Diffstat (limited to 'netlib')
-rw-r--r--netlib/http/http1/protocol.py2
-rw-r--r--netlib/tcp.py3
2 files changed, 3 insertions, 2 deletions
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")