aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/flowview.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-03-22 21:08:18 +1300
committerAldo Cortesi <aldo@nullcube.com>2015-03-22 21:08:18 +1300
commit6fb661dab518c036e9333d360f2efc91bc2631ab (patch)
tree54bf9f78ad7024a99d98a440f0c852bbe4afe682 /libmproxy/console/flowview.py
parent842e23d3e386169d9a90cef2a634c55a3e5fdd8e (diff)
downloadmitmproxy-6fb661dab518c036e9333d360f2efc91bc2631ab.tar.gz
mitmproxy-6fb661dab518c036e9333d360f2efc91bc2631ab.tar.bz2
mitmproxy-6fb661dab518c036e9333d360f2efc91bc2631ab.zip
Unwind twisty maze of cache layers. Holy confusing, Batman.
Diffstat (limited to 'libmproxy/console/flowview.py')
-rw-r--r--libmproxy/console/flowview.py57
1 files changed, 22 insertions, 35 deletions
diff --git a/libmproxy/console/flowview.py b/libmproxy/console/flowview.py
index 2c847fba..1aebb0f0 100644
--- a/libmproxy/console/flowview.py
+++ b/libmproxy/console/flowview.py
@@ -129,43 +129,30 @@ class FlowView(urwid.WidgetWrap):
else:
self.view_request()
- def _cached_content_view(self, viewmode, hdrItems, content, limit, is_request):
- return contentview.get_content_view(
- viewmode,
- hdrItems,
- content,
- limit,
- self.master.add_event,
- is_request
- )
-
def content_view(self, viewmode, conn):
- full = self.state.get_flow_setting(
- self.flow,
- (self.state.view_flow_mode, "fullcontents"),
- False
- )
- if full:
- limit = sys.maxint
+ if conn.content == CONTENT_MISSING:
+ msg, body = "", [urwid.Text([("error", "[content missing]")])]
+ return (msg, body)
else:
- limit = contentview.VIEW_CUTOFF
- description, text_objects = cache.get(
- self._cached_content_view,
- viewmode,
- tuple(tuple(i) for i in conn.headers.lst),
- conn.content,
- limit,
- isinstance(conn, HTTPRequest)
- )
- return (description, text_objects)
-
- def cont_view_handle_missing(self, conn, viewmode):
- if conn.content == CONTENT_MISSING:
- msg, body = "", [urwid.Text([("error", "[content missing]")])]
+ full = self.state.get_flow_setting(
+ self.flow,
+ (self.state.view_flow_mode, "fullcontents"),
+ False
+ )
+ if full:
+ limit = sys.maxint
else:
- msg, body = self.content_view(viewmode, conn)
-
- return (msg, body)
+ limit = contentview.VIEW_CUTOFF
+ description, text_objects = cache.get(
+ contentview.get_content_view,
+ viewmode,
+ tuple(tuple(i) for i in conn.headers.lst),
+ conn.content,
+ limit,
+ self.master.add_event,
+ isinstance(conn, HTTPRequest)
+ )
+ return (description, text_objects)
def viewmode_get(self, override):
return self.state.default_body_view if override is None else override
@@ -186,7 +173,7 @@ class FlowView(urwid.WidgetWrap):
)
override = self.override_get()
viewmode = self.viewmode_get(override)
- msg, body = self.cont_view_handle_missing(conn, viewmode)
+ msg, body = self.content_view(viewmode, conn)
return headers, msg, body
def conn_text_merge(self, headers, msg, body):