aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-08-18 17:42:40 +1200
committerAldo Cortesi <aldo@nullcube.com>2012-08-18 17:42:40 +1200
commitb70e91bbd4548d95429db6a7830c988d334e9990 (patch)
tree019b5c4c9ace8a3f79880987a4cd634c20e2c2bc /libmproxy/console
parente8553f966f63923d42e0ef380d82794d73f2637d (diff)
downloadmitmproxy-b70e91bbd4548d95429db6a7830c988d334e9990.tar.gz
mitmproxy-b70e91bbd4548d95429db6a7830c988d334e9990.tar.bz2
mitmproxy-b70e91bbd4548d95429db6a7830c988d334e9990.zip
Send tracebacks from content viewers to event log.
Also, 100% test coverage for content viewers.
Diffstat (limited to 'libmproxy/console')
-rw-r--r--libmproxy/console/contentview.py5
-rw-r--r--libmproxy/console/flowview.py2
2 files changed, 4 insertions, 3 deletions
diff --git a/libmproxy/console/contentview.py b/libmproxy/console/contentview.py
index 763baab1..359b3d3c 100644
--- a/libmproxy/console/contentview.py
+++ b/libmproxy/console/contentview.py
@@ -336,7 +336,7 @@ def get(name):
return i
-def get_content_view(viewmode, hdrItems, content, limit):
+def get_content_view(viewmode, hdrItems, content, limit, logfunc):
"""
Returns a (msg, body) tuple.
"""
@@ -355,7 +355,8 @@ def get_content_view(viewmode, hdrItems, content, limit):
# Third-party viewers can fail in unexpected ways...
except Exception, e:
s = traceback.format_exc()
- return "", _view_text(s, len(s), len(s))
+ s = "Content viewer failed: \n" + s
+ logfunc(s)
ret = None
if not ret:
ret = get("Raw")(hdrs, content, limit)
diff --git a/libmproxy/console/flowview.py b/libmproxy/console/flowview.py
index f57ab3e4..a6ee41eb 100644
--- a/libmproxy/console/flowview.py
+++ b/libmproxy/console/flowview.py
@@ -128,7 +128,7 @@ class FlowView(common.WWrap):
self.view_request()
def _cached_content_view(self, viewmode, hdrItems, content, limit):
- return contentview.get_content_view(viewmode, hdrItems, content, limit)
+ return contentview.get_content_view(viewmode, hdrItems, content, limit, self.master.add_event)
def content_view(self, viewmode, conn):
full = self.state.get_flow_setting(