aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/dump.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/dump.py')
-rw-r--r--libmproxy/dump.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/libmproxy/dump.py b/libmproxy/dump.py
new file mode 100644
index 00000000..83238da4
--- /dev/null
+++ b/libmproxy/dump.py
@@ -0,0 +1,39 @@
+import sys
+import controller
+
+class DumpMaster(controller.Master):
+ """
+ A simple master that just dumps to screen.
+ """
+ def __init__(self, server, verbosity):
+ self.verbosity = verbosity
+ controller.Master.__init__(self, server)
+
+ def run(self):
+ try:
+ return controller.Master.run(self)
+ except KeyboardInterrupt:
+ self.shutdown()
+
+ def handle_response(self, msg):
+ if 0 < self.verbosity < 3:
+ print >> sys.stderr, ">>",
+ print >> sys.stderr, msg.request.short()
+ if self.verbosity == 1:
+ print >> sys.stderr, "<<",
+ print >> sys.stderr, msg.short()
+ elif self.verbosity == 2:
+ print >> sys.stderr, "<<"
+ for i in msg.assemble().splitlines():
+ print >> sys.stderr, "\t", i
+ print >> sys.stderr, "<<"
+ elif self.verbosity == 3:
+ print >> sys.stderr, ">>"
+ for i in msg.request.assemble().splitlines():
+ print >> sys.stderr, "\t", i
+ print >> sys.stderr, ">>"
+ print >> sys.stderr, "<<"
+ for i in msg.assemble().splitlines():
+ print >> sys.stderr, "\t", i
+ print >> sys.stderr, "<<"
+ msg.ack()