aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-09-11 12:26:52 +0200
committerMaximilian Hils <git@maximilianhils.com>2015-09-11 12:26:52 +0200
commit625a719eb1237556d4aa2ed3e0088634324c0ad9 (patch)
treef58290d4d164629170560bc793e7cf976b65e8bd /libmproxy/console
parent7c186a4edbb0c6bc1f471d0db62dfc60008160a2 (diff)
downloadmitmproxy-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.py21
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,