aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmproxy/console.py8
-rw-r--r--libmproxy/flow.py3
-rwxr-xr-xmitmproxy2
3 files changed, 10 insertions, 3 deletions
diff --git a/libmproxy/console.py b/libmproxy/console.py
index ec17b2e9..a986cc1c 100644
--- a/libmproxy/console.py
+++ b/libmproxy/console.py
@@ -109,6 +109,8 @@ class ConnectionItem(WWrap):
class ConnectionListView(urwid.ListWalker):
def __init__(self, master, state):
self.master, self.state = master, state
+ if self.state.flow_list:
+ self.set_focus(0)
def get_focus(self):
f, i = self.state.get_focus()
@@ -572,6 +574,7 @@ class ConsoleMaster(controller.Master):
('key', "q"), ":back ",
]
def __init__(self, server, options):
+ self.conn_list_view = None
self.set_palette()
controller.Master.__init__(self, server)
self.state = ConsoleState()
@@ -689,8 +692,9 @@ class ConsoleMaster(controller.Master):
self.statusbar.message(str(v))
return
self.state.load_flows(data, ConsoleFlow)
- self.conn_list_view.set_focus(0)
- self.sync_list_view()
+ if self.conn_list_view:
+ self.conn_list_view.set_focus(0)
+ self.sync_list_view()
def helptext(self):
text = []
diff --git a/libmproxy/flow.py b/libmproxy/flow.py
index 31b7bc51..c91dc14a 100644
--- a/libmproxy/flow.py
+++ b/libmproxy/flow.py
@@ -212,7 +212,8 @@ class State:
Replaces the matching connection object with a ReplayConnection object.
"""
conn = self.get_connection(f)
- del self.flow_map[conn]
+ if conn in self.flow_map:
+ del self.flow_map[conn]
f.revert()
self.flow_map[f.connection] = f
diff --git a/mitmproxy b/mitmproxy
index 5753fd09..cde29d9f 100755
--- a/mitmproxy
+++ b/mitmproxy
@@ -78,4 +78,6 @@ if __name__ == '__main__':
)
server = proxy.ProxyServer(options.port)
m = console.ConsoleMaster(server, options)
+ for i in args:
+ m.load_flows(i)
m.run()