aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/script.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/script.py')
-rw-r--r--libmproxy/script.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/libmproxy/script.py b/libmproxy/script.py
new file mode 100644
index 00000000..9ff861e9
--- /dev/null
+++ b/libmproxy/script.py
@@ -0,0 +1,27 @@
+"""
+ The mitmproxy scripting interface is simple - a serialized representation
+ of a flow is passed to the script on stdin, and a possibly modified flow is
+ then read by mitmproxy from the scripts stdout. This module provides two
+ convenience functions to make loading and returning data from scripts
+ simple.
+"""
+import sys, base64
+from contrib import bson
+import flow
+
+
+def load_flow():
+ """
+ Load a flow from the stdin. Returns a Flow object.
+ """
+ data = sys.stdin.read()
+ return flow.Flow.script_deserialize(data)
+
+
+def return_flow(f):
+ """
+ Print a flow to stdout.
+ """
+ print >> sys.stdout, f.script_serialize()
+
+