diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2015-04-16 10:57:12 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2015-04-16 10:57:12 +1200 |
commit | 52716e3439ceeb47d1fe8545a4875dc36866c37c (patch) | |
tree | da03bad1ee62b382d8804dd39539686e354b32dc /libmproxy/console/flowview.py | |
parent | 850a50262be8264fabe1d1a18b2985b70f7a86ae (diff) | |
download | mitmproxy-52716e3439ceeb47d1fe8545a4875dc36866c37c.tar.gz mitmproxy-52716e3439ceeb47d1fe8545a4875dc36866c37c.tar.bz2 mitmproxy-52716e3439ceeb47d1fe8545a4875dc36866c37c.zip |
console: first pass of a Set-cookie editor for responses
Diffstat (limited to 'libmproxy/console/flowview.py')
-rw-r--r-- | libmproxy/console/flowview.py | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/libmproxy/console/flowview.py b/libmproxy/console/flowview.py index 3b1a92ec..497248de 100644 --- a/libmproxy/console/flowview.py +++ b/libmproxy/console/flowview.py @@ -316,6 +316,19 @@ class FlowView(tabs.Tabs): conn.set_cookies(od) signals.flow_change.send(self, flow = self.flow) + def set_setcookies(self, lst, conn): + vals = [] + for i in lst: + vals.append( + [ + i[0], + [i[1], odict.ODictCaseless(i[2])] + ] + ) + od = odict.ODict(vals) + conn.set_cookies(od) + signals.flow_change.send(self, flow = self.flow) + def edit(self, part): if self.tab_offset == TAB_REQ: message = self.flow.request @@ -338,7 +351,18 @@ class FlowView(tabs.Tabs): message ) ) - pass + if message == self.flow.response and part == "c": + flattened = [] + for k, v in message.get_cookies().items(): + flattened.append([k, v[0], v[1].lst]) + self.master.view_grideditor( + grideditor.SetCookieEditor( + self.master, + flattened, + self.set_setcookies, + message + ) + ) if part == "r": with decoded(message): # Fix an issue caused by some editors when editing a @@ -541,7 +565,7 @@ class FlowView(tabs.Tabs): signals.status_prompt_onekey.send( prompt = "Edit request", keys = ( - ("cookie", "c"), + ("cookies", "c"), ("query", "q"), ("path", "p"), ("url", "u"), @@ -556,6 +580,7 @@ class FlowView(tabs.Tabs): signals.status_prompt_onekey.send( prompt = "Edit response", keys = ( + ("cookies", "c"), ("code", "o"), ("message", "m"), ("header", "h"), |