From b70e91bbd4548d95429db6a7830c988d334e9990 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sat, 18 Aug 2012 17:42:40 +1200 Subject: Send tracebacks from content viewers to event log. Also, 100% test coverage for content viewers. --- libmproxy/console/contentview.py | 5 +++-- libmproxy/console/flowview.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'libmproxy/console') 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( -- cgit v1.2.3