diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2011-08-01 10:41:12 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2011-08-01 10:43:01 +1200 |
commit | ddb5748a76725ea6a6c6bb58e13b7b8ca09e147b (patch) | |
tree | 8d2893120e65b7c9433a670b0719243621e56a61 /libmproxy/console.py | |
parent | c89c4361c376765c666cc6ed0ab5834b2418082d (diff) | |
download | mitmproxy-ddb5748a76725ea6a6c6bb58e13b7b8ca09e147b.tar.gz mitmproxy-ddb5748a76725ea6a6c6bb58e13b7b8ca09e147b.tar.bz2 mitmproxy-ddb5748a76725ea6a6c6bb58e13b7b8ca09e147b.zip |
Add decoding/encoding for requests.
Diffstat (limited to 'libmproxy/console.py')
-rw-r--r-- | libmproxy/console.py | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/libmproxy/console.py b/libmproxy/console.py index 67e64d37..6fd8c2ca 100644 --- a/libmproxy/console.py +++ b/libmproxy/console.py @@ -541,23 +541,25 @@ class ConnectionView(WWrap): elif key == "z": if self.state.view_flow_mode == VIEW_FLOW_RESPONSE: conn = self.flow.response - e = conn.headers["content-encoding"] or ["identity"] - if e[0] != "identity": - conn.decode() - else: - self.master.prompt_onekey( - "Select encoding: ", - ( - ("gzip", "z"), - ("deflate", "d"), - ), - self.encode_response_callback - ) - self.master.refresh_connection(self.flow) + else: + conn = self.flow.request + e = conn.headers["content-encoding"] or ["identity"] + if e[0] != "identity": + conn.decode() + else: + self.master.prompt_onekey( + "Select encoding: ", + ( + ("gzip", "z"), + ("deflate", "d"), + ), + self.encode_callback, + conn + ) + self.master.refresh_connection(self.flow) return key - def encode_response_callback(self, key): - conn = self.flow.response + def encode_callback(self, key, conn): encoding_map = { "z": "gzip", "d": "deflate", @@ -1347,8 +1349,8 @@ class ConsoleMaster(flow.FlowMaster): ("e", "edit request/response"), ("p", "previous flow"), ("v", "view body in external viewer"), - ("z", "switch response encoding"), - ("tab", "toggle response/request view"), + ("z", "encode/decode a request/response"), + ("tab", "toggle request/response view"), ("space", "next flow"), ] text.extend(format_keyvals(keys, key="key", val="text", indent=4)) @@ -1412,7 +1414,7 @@ class ConsoleMaster(flow.FlowMaster): self.view.set_focus("footer") self.prompting = (callback, []) - def prompt_onekey(self, prompt, keys, callback): + def prompt_onekey(self, prompt, keys, callback, *args): """ Keys are a set of (word, key) tuples. The appropriate key in the word is highlighted. @@ -1426,7 +1428,7 @@ class ConsoleMaster(flow.FlowMaster): prompt.extend(mkup) prompt.append(")? ") self.onekey = "".join([i[1] for i in keys]) - self.prompt(prompt, "", callback) + self.prompt(prompt, "", callback, *args) def prompt_done(self): self.prompting = False |