aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/protocol
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-09-12 17:57:21 +0200
committerMaximilian Hils <git@maximilianhils.com>2015-09-12 17:57:21 +0200
commit32b487109f2d555870a0e93026968fa6eacf9f11 (patch)
tree6aab46bceebb0520bd8f31fe7535ab4d0cadf170 /libmproxy/protocol
parent4106e1961246616a33c6a1b9d7b8208000611e3d (diff)
parent5fe12a467f37bfba2f4f663274cacbc6ecc770f7 (diff)
downloadmitmproxy-32b487109f2d555870a0e93026968fa6eacf9f11.tar.gz
mitmproxy-32b487109f2d555870a0e93026968fa6eacf9f11.tar.bz2
mitmproxy-32b487109f2d555870a0e93026968fa6eacf9f11.zip
Merge pull request #765 from mitmproxy/such-colors-very-wow
Improve Content Views
Diffstat (limited to 'libmproxy/protocol')
-rw-r--r--libmproxy/protocol/http.py17
-rw-r--r--libmproxy/protocol/rawtcp.py4
2 files changed, 14 insertions, 7 deletions
diff --git a/libmproxy/protocol/http.py b/libmproxy/protocol/http.py
index 3a415320..230f2be9 100644
--- a/libmproxy/protocol/http.py
+++ b/libmproxy/protocol/http.py
@@ -1,6 +1,7 @@
from __future__ import (absolute_import, print_function, division)
import itertools
import sys
+import traceback
import six
@@ -384,9 +385,13 @@ class HttpLayer(Layer):
return
except (HttpErrorConnClosed, NetLibError, HttpError, ProtocolException) as e:
+ error_propagated = False
if flow.request and not flow.response:
- flow.error = Error(repr(e))
+ flow.error = Error(str(e))
self.channel.ask("error", flow)
+ self.log(traceback.format_exc(), "debug")
+ error_propagated = True
+
try:
self.send_response(make_error_response(
getattr(e, "code", 502),
@@ -394,10 +399,12 @@ class HttpLayer(Layer):
))
except NetLibError:
pass
- if isinstance(e, ProtocolException):
- six.reraise(ProtocolException, e, sys.exc_info()[2])
- else:
- six.reraise(ProtocolException, ProtocolException("Error in HTTP connection: %s" % repr(e)), sys.exc_info()[2])
+
+ if not error_propagated:
+ if isinstance(e, ProtocolException):
+ six.reraise(ProtocolException, e, sys.exc_info()[2])
+ else:
+ six.reraise(ProtocolException, ProtocolException("Error in HTTP connection: %s" % repr(e)), sys.exc_info()[2])
finally:
flow.live = False
diff --git a/libmproxy/protocol/rawtcp.py b/libmproxy/protocol/rawtcp.py
index 9b155412..24c19523 100644
--- a/libmproxy/protocol/rawtcp.py
+++ b/libmproxy/protocol/rawtcp.py
@@ -7,7 +7,7 @@ import sys
from OpenSSL import SSL
from netlib.tcp import NetLibError, ssl_read_select
-from netlib.utils import cleanBin
+from netlib.utils import clean_bin
from ..exceptions import ProtocolException
from .base import Layer
@@ -58,7 +58,7 @@ class RawTCPLayer(Layer):
direction = "-> tcp -> {}".format(repr(self.server_conn.address))
else:
direction = "<- tcp <- {}".format(repr(self.server_conn.address))
- data = cleanBin(buf[:size].tobytes())
+ data = clean_bin(buf[:size].tobytes())
self.log(
"{}\r\n{}".format(direction, data),
"info"