aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmproxy/dump.py2
-rw-r--r--test/test_dump.py16
2 files changed, 16 insertions, 2 deletions
diff --git a/libmproxy/dump.py b/libmproxy/dump.py
index 9fb0f001..4d899fe8 100644
--- a/libmproxy/dump.py
+++ b/libmproxy/dump.py
@@ -205,7 +205,7 @@ class DumpMaster(flow.FlowMaster):
elif self.o.flow_detail >= 3:
print >> self.outfile, str_request(f, self.showhost)
print >> self.outfile, self.indent(4, f.request.headers)
- if utils.isBin(f.request.content):
+ if f.request.content != http.CONTENT_MISSING and utils.isBin(f.request.content):
d = netlib.utils.hexdump(f.request.content)
d = "\n".join("%s\t%s %s"%i for i in d)
print >> self.outfile, self.indent(4, d)
diff --git a/test/test_dump.py b/test/test_dump.py
index 2e58e073..e9cb4d33 100644
--- a/test/test_dump.py
+++ b/test/test_dump.py
@@ -1,10 +1,12 @@
import os
from cStringIO import StringIO
-from libmproxy import dump, flow, proxy
+from libmproxy import dump, flow
+from libmproxy.protocol import http
from libmproxy.proxy.primitives import Log
import tutils
import mock
+
def test_strfuncs():
t = tutils.tresp()
t.is_replay = True
@@ -58,6 +60,18 @@ class TestDumpMaster:
assert m.handle_error(f)
assert "error" in cs.getvalue()
+ def test_missing_content(self):
+ cs = StringIO()
+ o = dump.Options(flow_detail=3)
+ m = dump.DumpMaster(None, o, outfile=cs)
+ f = tutils.tflow()
+ f.request.content = http.CONTENT_MISSING
+ m.handle_request(f)
+ f.response = tutils.tresp()
+ f.response.content = http.CONTENT_MISSING
+ m.handle_response(f)
+ assert "content missing" in cs.getvalue()
+
def test_replay(self):
cs = StringIO()