From dc142682cb930cb3903a2fc66d4785bd5367360b Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Thu, 6 Nov 2014 11:25:03 +0100 Subject: fix #399 --- libmproxy/console/__init__.py | 3 ++- libmproxy/console/flowlist.py | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'libmproxy') diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py index ffd9eda8..fc6600c1 100644 --- a/libmproxy/console/__init__.py +++ b/libmproxy/console/__init__.py @@ -516,7 +516,8 @@ class ConsoleMaster(flow.FlowMaster): self.start_server_playback( ret, self.killextra, self.rheaders, - False, self.nopop + False, self.nopop, + self.options.replay_ignore_params, self.options.replay_ignore_content ) def spawn_editor(self, data): diff --git a/libmproxy/console/flowlist.py b/libmproxy/console/flowlist.py index e0330171..3eb4eb1a 100644 --- a/libmproxy/console/flowlist.py +++ b/libmproxy/console/flowlist.py @@ -120,13 +120,15 @@ class ConnectionItem(common.WWrap): self.master.start_server_playback( [i.copy() for i in self.master.state.view], self.master.killextra, self.master.rheaders, - False, self.master.nopop + False, self.master.nopop, + self.master.options.replay_ignore_params, self.master.options.replay_ignore_content ) elif k == "t": self.master.start_server_playback( [self.flow.copy()], self.master.killextra, self.master.rheaders, - False, self.master.nopop + False, self.master.nopop, + self.master.options.replay_ignore_params, self.master.options.replay_ignore_content ) else: self.master.path_prompt( -- cgit v1.2.3 From c3ec5515466fe7ba970bc7cb2578dad4c845e5bc Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Fri, 7 Nov 2014 09:52:46 +0100 Subject: fix #401 --- libmproxy/protocol/http.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'libmproxy') diff --git a/libmproxy/protocol/http.py b/libmproxy/protocol/http.py index 1472f2ca..c8974d25 100644 --- a/libmproxy/protocol/http.py +++ b/libmproxy/protocol/http.py @@ -434,11 +434,9 @@ class HTTPRequest(HTTPMessage): self.host, self.port)] - if self.content: + # If content is defined (i.e. not None or CONTENT_MISSING), we always add a content-length header. + if self.content or self.content == "": headers["Content-Length"] = [str(len(self.content))] - elif 'Transfer-Encoding' in self.headers: - # content-length for e.g. chuncked transfer-encoding with no content - headers["Content-Length"] = ["0"] return str(headers) @@ -761,11 +759,9 @@ class HTTPResponse(HTTPMessage): if not preserve_transfer_encoding: del headers['Transfer-Encoding'] - if self.content: + # If content is defined (i.e. not None or CONTENT_MISSING), we always add a content-length header. + if self.content or self.content == "": headers["Content-Length"] = [str(len(self.content))] - # add content-length for chuncked transfer-encoding with no content - elif not preserve_transfer_encoding and 'Transfer-Encoding' in self.headers: - headers["Content-Length"] = ["0"] return str(headers) -- cgit v1.2.3 From 6f5883a4d19caee30a89729ef5f0f4e50da8359c Mon Sep 17 00:00:00 2001 From: Lucas Cimon Date: Fri, 7 Nov 2014 17:01:58 +0100 Subject: Using uppercase C to 'clear' display mode, because lowercase 'c' is used for css --- libmproxy/console/flowview.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'libmproxy') diff --git a/libmproxy/console/flowview.py b/libmproxy/console/flowview.py index b2c46147..bf0070fc 100644 --- a/libmproxy/console/flowview.py +++ b/libmproxy/console/flowview.py @@ -637,11 +637,10 @@ class FlowView(common.WWrap): return self._view_nextprev_flow("prev", flow) def change_this_display_mode(self, t): - self.state.add_flow_setting( - self.flow, - (self.state.view_flow_mode, "prettyview"), - contentview.get_by_shortcut(t) - ) + key = (self.state.view_flow_mode, "prettyview") + value = contentview.get_by_shortcut(t) + if value: + self.state.add_flow_setting(self.flow, key, value) self.master.refresh_flow(self.flow) def delete_body(self, t): @@ -749,7 +748,7 @@ class FlowView(common.WWrap): self.master.statusbar.message("") elif key == "m": p = list(contentview.view_prompts) - p.insert(0, ("clear", "c")) + p.insert(0, ("Clear", "C")) self.master.prompt_onekey( "Display mode", p, -- cgit v1.2.3 From cece3700df02144dc2bd26a55fe4d6076fd7ea22 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Mon, 10 Nov 2014 17:11:36 +0100 Subject: fix #402 --- libmproxy/flow.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libmproxy') diff --git a/libmproxy/flow.py b/libmproxy/flow.py index bd35e864..1826af3d 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -192,6 +192,7 @@ class ClientPlaybackState: """ if self.flows and not self.current: n = self.flows.pop(0) + n.response = None n.reply = controller.DummyReply() self.current = master.handle_request(n) if not testing and not self.current.response: @@ -615,7 +616,7 @@ class FlowMaster(controller.Master): ] if all(e): self.shutdown() - self.client_playback.tick(self, timeout) + self.client_playback.tick(self) return controller.Master.tick(self, q, timeout) -- cgit v1.2.3 From 6f3b4eee3c3e30b391be457e38fb5ac67f8ef682 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Mon, 10 Nov 2014 17:35:28 +0100 Subject: fix clear key --- libmproxy/console/flowview.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'libmproxy') diff --git a/libmproxy/console/flowview.py b/libmproxy/console/flowview.py index bf0070fc..3dceff70 100644 --- a/libmproxy/console/flowview.py +++ b/libmproxy/console/flowview.py @@ -637,10 +637,11 @@ class FlowView(common.WWrap): return self._view_nextprev_flow("prev", flow) def change_this_display_mode(self, t): - key = (self.state.view_flow_mode, "prettyview") - value = contentview.get_by_shortcut(t) - if value: - self.state.add_flow_setting(self.flow, key, value) + self.state.add_flow_setting( + self.flow, + (self.state.view_flow_mode, "prettyview"), + contentview.get_by_shortcut(t) + ) self.master.refresh_flow(self.flow) def delete_body(self, t): -- cgit v1.2.3