aboutsummaryrefslogtreecommitdiffstats
path: root/examples/addons/commands-paths.py
diff options
context:
space:
mode:
authorColdFire <9128903+fenilgandhi@users.noreply.github.com>2018-02-23 00:27:10 +0530
committerGitHub <noreply@github.com>2018-02-23 00:27:10 +0530
commit777cb98a86f3e8883383935661e2ed20ed9b6bd4 (patch)
tree67d3e1259dccb83866496f45fe20ac3bd76961ce /examples/addons/commands-paths.py
parent6bf250aa3e8ede84d16170d95728c6488444a5a8 (diff)
parent58ccad7576e5fd33e937aba58df2f9edc389e52e (diff)
downloadmitmproxy-777cb98a86f3e8883383935661e2ed20ed9b6bd4.tar.gz
mitmproxy-777cb98a86f3e8883383935661e2ed20ed9b6bd4.tar.bz2
mitmproxy-777cb98a86f3e8883383935661e2ed20ed9b6bd4.zip
Merge branch 'master' into issue-2872
Diffstat (limited to 'examples/addons/commands-paths.py')
-rw-r--r--examples/addons/commands-paths.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/addons/commands-paths.py b/examples/addons/commands-paths.py
new file mode 100644
index 00000000..f37a0fbc
--- /dev/null
+++ b/examples/addons/commands-paths.py
@@ -0,0 +1,32 @@
+import typing
+
+from mitmproxy import command
+from mitmproxy import ctx
+from mitmproxy import flow
+from mitmproxy import types
+
+
+class MyAddon:
+ def __init__(self):
+ self.num = 0
+
+ @command.command("myaddon.histogram")
+ def histogram(
+ self,
+ flows: typing.Sequence[flow.Flow],
+ path: types.Path,
+ ) -> None:
+ totals = {}
+ for f in flows:
+ totals[f.request.host] = totals.setdefault(f.request.host, 0) + 1
+
+ fp = open(path, "w+")
+ for cnt, dom in sorted([(v, k) for (k, v) in totals.items()]):
+ fp.write("%s: %s\n" % (cnt, dom))
+
+ ctx.log.alert("done")
+
+
+addons = [
+ MyAddon()
+]