aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@corte.si>2016-07-26 13:53:44 +1200
committerGitHub <noreply@github.com>2016-07-26 13:53:44 +1200
commit38b43cc9f91a8bb20e1bc726625bf750223bb80e (patch)
tree5830ef5269883884e18100aad78a09d44d0c4d2b
parentdb22e72103f00265625829fbf3a6637c80709a56 (diff)
parentf164181f2e75a5ad2c052b8d6600141ebcc9bed7 (diff)
downloadmitmproxy-38b43cc9f91a8bb20e1bc726625bf750223bb80e.tar.gz
mitmproxy-38b43cc9f91a8bb20e1bc726625bf750223bb80e.tar.bz2
mitmproxy-38b43cc9f91a8bb20e1bc726625bf750223bb80e.zip
Merge pull request #1428 from dufferzafar/replay
Consolidate replay under R
-rw-r--r--mitmproxy/console/help.py3
-rw-r--r--mitmproxy/console/window.py52
2 files changed, 33 insertions, 22 deletions
diff --git a/mitmproxy/console/help.py b/mitmproxy/console/help.py
index ff4a072f..8024dc31 100644
--- a/mitmproxy/console/help.py
+++ b/mitmproxy/console/help.py
@@ -49,12 +49,11 @@ class HelpView(urwid.ListBox):
text.append(urwid.Text([("head", "\n\nGlobal keys:\n")]))
keys = [
- ("c", "client replay of HTTP requests"),
("i", "set interception pattern"),
("o", "options"),
("q", "quit / return to previous page"),
("Q", "quit without confirm prompt"),
- ("S", "server replay of HTTP responses"),
+ ("R", "replay of HTTP requests/responses"),
]
text.extend(
common.format_keyvals(keys, key="key", val="text", indent=4)
diff --git a/mitmproxy/console/window.py b/mitmproxy/console/window.py
index 25780daf..b24718be 100644
--- a/mitmproxy/console/window.py
+++ b/mitmproxy/console/window.py
@@ -38,15 +38,12 @@ class Window(urwid.Frame):
return False
return True
- def keypress(self, size, k):
- k = super(self.__class__, self).keypress(size, k)
- if k == "?":
- self.master.view_help(self.helpctx)
- elif k == "c":
+ def handle_replay(self, k):
+ if k == "c":
if not self.master.client_playback:
signals.status_prompt_path.send(
self,
- prompt = "Client replay",
+ prompt = "Client replay path",
callback = self.master.client_playback_path
)
else:
@@ -59,20 +56,7 @@ class Window(urwid.Frame):
),
callback = self.master.stop_client_playback_prompt,
)
- elif k == "i":
- signals.status_prompt.send(
- self,
- prompt = "Intercept filter",
- text = self.master.state.intercept_txt,
- callback = self.master.set_intercept
- )
- elif k == "o":
- self.master.view_options()
- elif k == "Q":
- raise urwid.ExitMainLoop
- elif k == "q":
- signals.pop_view_state.send(self)
- elif k == "S":
+ elif k == "s":
if not self.master.server_playback:
signals.status_prompt_path.send(
self,
@@ -89,5 +73,33 @@ class Window(urwid.Frame):
),
callback = self.master.stop_server_playback_prompt,
)
+
+ def keypress(self, size, k):
+ k = super(self.__class__, self).keypress(size, k)
+ if k == "?":
+ self.master.view_help(self.helpctx)
+ elif k == "i":
+ signals.status_prompt.send(
+ self,
+ prompt = "Intercept filter",
+ text = self.master.state.intercept_txt,
+ callback = self.master.set_intercept
+ )
+ elif k == "o":
+ self.master.view_options()
+ elif k == "Q":
+ raise urwid.ExitMainLoop
+ elif k == "q":
+ signals.pop_view_state.send(self)
+ elif k == "R":
+ signals.status_prompt_onekey.send(
+ self,
+ prompt = "Replay",
+ keys = (
+ ("client", "c"),
+ ("server", "s"),
+ ),
+ callback = self.handle_replay,
+ )
else:
return k