From 061cea89da96bc2ee71d9d2f065ae920aeccb311 Mon Sep 17 00:00:00 2001 From: Henrik Nordstrom Date: Tue, 11 Jan 2011 18:04:15 +0100 Subject: Import cache store control into console controller --- libmproxy/console.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libmproxy/console.py') diff --git a/libmproxy/console.py b/libmproxy/console.py index 1f19671a..9bf032e6 100644 --- a/libmproxy/console.py +++ b/libmproxy/console.py @@ -19,6 +19,7 @@ import cStringIO import urwid.curses_display import urwid import controller, utils, filt, proxy, flow +import recorder class Stop(Exception): pass @@ -707,6 +708,7 @@ class ConsoleState(flow.State): flow.State.__init__(self) self.focus = None self.beep = None + self.store = None self.view_body_mode = VIEW_BODY_RAW self.view_flow_mode = VIEW_FLOW_REQUEST @@ -727,6 +729,8 @@ class ConsoleState(flow.State): return flow.State.add_request(self, req) def add_response(self, resp): + if self.store is not None: + self.store.save_response(resp) f = flow.State.add_response(self, resp) if self.focus is None: self.set_focus(0) @@ -737,6 +741,9 @@ class ConsoleState(flow.State): self.set_focus(self.focus) return ret + def start_recording(self, recorder): + self.store = recorder + def get_focus(self): if not self.view or self.focus is None: return None, None @@ -815,6 +822,9 @@ class ConsoleMaster(controller.Master): self.stickycookie = None self.stickyhosts = {} + if options.cache is not None: + self.state.start_recording(recorder.Recorder(options)) + def spawn_external_viewer(self, data, contenttype): if contenttype: ext = mimetypes.guess_extension(contenttype) or "" -- cgit v1.2.3