Skip to content

Commit 6d1f71e

Browse files
nameearlymhils
andauthored
correct a parameter (mitmproxy#8172)
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
1 parent d1e06b6 commit 6d1f71e

3 files changed

Lines changed: 10 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
## Unreleased: mitmproxy next
99

10+
- Fix `view.settings.setval.toggle` command to correctly use the provided key parameter instead of hardcoded "key" string.
11+
([#8167](https://github.com/mitmproxy/mitmproxy/pull/8167), @nameearly)
1012
- Fix 400 Bad Request for HTTP requests with uppercase scheme (e.g. `HTTP://`).
1113
([#8174](https://github.com/mitmproxy/mitmproxy/pull/8174), @emanuele-em)
1214
- Fix console command panel losing focus due to incoming traffic (e.g. websocket messages).

mitmproxy/addons/view.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ def setvalue_toggle(self, flows: Sequence[mitmproxy.flow.Flow], key: str) -> Non
394394
"""
395395
updated = []
396396
for f in flows:
397-
current = self.settings[f].get("key", "false")
397+
current = self.settings[f].get(key, "false")
398398
self.settings[f][key] = "false" if current == "true" else "true"
399399
updated.append(f)
400400
ctx.master.addons.trigger(hooks.UpdateHook(updated))

test/mitmproxy/addons/test_view.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,13 @@ def test_setgetval():
393393
v.setvalue_toggle([f], "key")
394394
assert v.getvalue(f, "key", "default") == "false"
395395

396+
# Test with a different key name to verify the fix for hardcoded "key" bug
397+
v.setvalue([f], "custom_setting", "true")
398+
v.setvalue_toggle([f], "custom_setting")
399+
assert v.getvalue(f, "custom_setting", "default") == "false"
400+
v.setvalue_toggle([f], "custom_setting")
401+
assert v.getvalue(f, "custom_setting", "default") == "true"
402+
396403

397404
def test_order():
398405
v = view.View()

0 commit comments

Comments
 (0)