aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiroslav <ttahabatt@gmail.com>2018-02-08 20:11:14 +0200
committerMiroslav <ttahabatt@gmail.com>2018-02-08 20:11:14 +0200
commit9f78c36ec447913dde9a0acd69683e856a843db4 (patch)
tree94688f62c5d2858951c2df57cf3f3a234aee4841
parent0cb38f6329d1735aee9fe034499a8c1497172f9f (diff)
downloadmitmproxy-9f78c36ec447913dde9a0acd69683e856a843db4.tar.gz
mitmproxy-9f78c36ec447913dde9a0acd69683e856a843db4.tar.bz2
mitmproxy-9f78c36ec447913dde9a0acd69683e856a843db4.zip
New command
-rw-r--r--mitmproxy/tools/console/commander/commander.py8
-rw-r--r--mitmproxy/tools/console/consoleaddons.py9
-rw-r--r--mitmproxy/tools/console/defaultkeys.py6
-rw-r--r--test/mitmproxy/tools/console/test_commander.py10
4 files changed, 13 insertions, 20 deletions
diff --git a/mitmproxy/tools/console/commander/commander.py b/mitmproxy/tools/console/commander/commander.py
index bd54fdde..566c42e6 100644
--- a/mitmproxy/tools/console/commander/commander.py
+++ b/mitmproxy/tools/console/commander/commander.py
@@ -50,9 +50,6 @@ CompletionState = typing.NamedTuple(
class CommandBuffer:
def __init__(self, master: mitmproxy.master.Master, start: str = "") -> None:
self.master = master
- option_setting = start.startswith("set") and start.endswith("=")
- if option_setting:
- start += self.get_option_value(start)
self.text = self.flatten(start)
# Cursor is always within the range [0:len(buffer)].
self._cursor = len(self.text)
@@ -97,11 +94,6 @@ class CommandBuffer:
ret.append(("commander_hint", "%s " % v))
return ret
- def get_option_value(self, txt):
- option = txt.rstrip("=").split()[1]
- option_value = getattr(self.master.options, option, None)
- return option_value if option_value else ""
-
def flatten(self, txt):
parts, _ = self.master.commands.parse_partial(txt)
return " ".join([x.value for x in parts])
diff --git a/mitmproxy/tools/console/consoleaddons.py b/mitmproxy/tools/console/consoleaddons.py
index b10d27e4..affbf4d3 100644
--- a/mitmproxy/tools/console/consoleaddons.py
+++ b/mitmproxy/tools/console/consoleaddons.py
@@ -277,6 +277,15 @@ class ConsoleAddon:
"""
signals.status_prompt_command.send(partial=" ".join(partial)) # type: ignore
+ @command.command("console.command.set")
+ def console_command_set(self, option: str) -> None:
+ """Doc"""
+ option_value = getattr(self.master.options, option, None)
+ current_value = option_value if option_value else ""
+ self.master.commands.call(
+ "console.command set {}={}".format(option, current_value)
+ )
+
@command.command("console.view.keybindings")
def view_keybindings(self) -> None:
"""View the commands list."""
diff --git a/mitmproxy/tools/console/defaultkeys.py b/mitmproxy/tools/console/defaultkeys.py
index d01d9b7e..084ef262 100644
--- a/mitmproxy/tools/console/defaultkeys.py
+++ b/mitmproxy/tools/console/defaultkeys.py
@@ -26,8 +26,8 @@ def map(km):
km.add("ctrl b", "console.nav.pageup", ["global"], "Page up")
km.add("I", "console.intercept.toggle", ["global"], "Toggle intercept")
- km.add("i", "console.command set intercept=", ["global"], "Set intercept")
- km.add("W", "console.command set save_stream_file=", ["global"], "Stream to file")
+ km.add("i", "console.command.set intercept", ["global"], "Set intercept")
+ km.add("W", "console.command.set save_stream_file", ["global"], "Stream to file")
km.add("A", "flow.resume @all", ["flowlist", "flowview"], "Resume all intercepted flows")
km.add("a", "flow.resume @focus", ["flowlist", "flowview"], "Resume this intercepted flow")
km.add(
@@ -46,7 +46,7 @@ def map(km):
["flowlist", "flowview"],
"Export this flow to file"
)
- km.add("f", "console.command set view_filter=", ["flowlist"], "Set view filter")
+ km.add("f", "console.command.set view_filter", ["flowlist"], "Set view filter")
km.add("F", "set console_focus_follow=toggle", ["flowlist"], "Set focus follow")
km.add(
"ctrl l",
diff --git a/test/mitmproxy/tools/console/test_commander.py b/test/mitmproxy/tools/console/test_commander.py
index cc2f3f35..2a96995d 100644
--- a/test/mitmproxy/tools/console/test_commander.py
+++ b/test/mitmproxy/tools/console/test_commander.py
@@ -1,4 +1,4 @@
-from mitmproxy import options
+
from mitmproxy.tools.console.commander import commander
from mitmproxy.test import taddons
@@ -96,11 +96,3 @@ class TestCommandBuffer:
with taddons.context() as tctx:
cb = commander.CommandBuffer(tctx.master)
assert cb.flatten("foo bar") == "foo bar"
-
- def test_get_option_value(self):
- opts = options.Options(view_filter="value")
- with taddons.context(options=opts) as tctx:
- cb = commander.CommandBuffer(tctx.master)
- assert cb.get_option_value("set unknown_option=") == ""
- assert cb.get_option_value("set intercept=") == ""
- assert cb.get_option_value("set view_filter=") == "value"