diff options
author | Maximilian Hils <git@maximilianhils.com> | 2015-09-11 12:26:52 +0200 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2015-09-11 12:26:52 +0200 |
commit | 625a719eb1237556d4aa2ed3e0088634324c0ad9 (patch) | |
tree | f58290d4d164629170560bc793e7cf976b65e8bd /libmproxy/console | |
parent | 7c186a4edbb0c6bc1f471d0db62dfc60008160a2 (diff) | |
download | mitmproxy-625a719eb1237556d4aa2ed3e0088634324c0ad9.tar.gz mitmproxy-625a719eb1237556d4aa2ed3e0088634324c0ad9.tar.bz2 mitmproxy-625a719eb1237556d4aa2ed3e0088634324c0ad9.zip |
completely remove console from contentviews
Diffstat (limited to 'libmproxy/console')
-rw-r--r-- | libmproxy/console/flowview.py | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/libmproxy/console/flowview.py b/libmproxy/console/flowview.py index e33d4c43..4946ed9c 100644 --- a/libmproxy/console/flowview.py +++ b/libmproxy/console/flowview.py @@ -1,6 +1,7 @@ from __future__ import absolute_import import os import sys +import traceback import urwid from netlib import odict @@ -10,6 +11,7 @@ from . import common, grideditor, signals, searchable, tabs from . import flowdetailview from .. import utils, controller, contentview from ..models import HTTPRequest, HTTPResponse, decoded +from ..exceptions import ContentViewException class SearchError(Exception): @@ -180,16 +182,29 @@ class FlowView(tabs.Tabs): else: limit = contentview.VIEW_CUTOFF description, text_objects = cache.get( - contentview.get_content_view, + self._get_content_view, viewmode, conn.headers, conn.content, limit, - isinstance(conn, HTTPRequest), - signals.add_event + isinstance(conn, HTTPRequest) ) return (description, text_objects) + def _get_content_view(self, viewmode, headers, content, limit, is_request): + try: + return contentview.get_content_view( + viewmode, headers, content, limit, is_request + ) + except ContentViewException: + s = "Content viewer failed: \n" + traceback.format_exc() + signals.add_event(s, "error") + msg, view = contentview.get_content_view( + viewmode, headers, content, limit, is_request + ) + msg = msg.replace("Raw", "Couldn't parse: falling back to Raw") + return msg, view + def viewmode_get(self): override = self.state.get_flow_setting( self.flow, |