aboutsummaryrefslogtreecommitdiffstats
path: root/examples/upsidedownternet.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-02-18 11:27:40 +0100
committerMaximilian Hils <git@maximilianhils.com>2016-02-18 11:27:40 +0100
commitbf024cd15320119e341cdf9bf0fd4d69df233c64 (patch)
tree05a6338d94c665421ae1eab07f14aed61b8bd2b1 /examples/upsidedownternet.py
parentf42af9061220ec0373e94e96b69434575f60281d (diff)
parent31ab3a231e540815009ffe5aeae108db2babd8a9 (diff)
downloadmitmproxy-bf024cd15320119e341cdf9bf0fd4d69df233c64.tar.gz
mitmproxy-bf024cd15320119e341cdf9bf0fd4d69df233c64.tar.bz2
mitmproxy-bf024cd15320119e341cdf9bf0fd4d69df233c64.zip
Merge branch 'master' of https://github.com/mitmproxy/mitmproxy
Diffstat (limited to 'examples/upsidedownternet.py')
-rw-r--r--examples/upsidedownternet.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/examples/upsidedownternet.py b/examples/upsidedownternet.py
new file mode 100644
index 00000000..b7489cb6
--- /dev/null
+++ b/examples/upsidedownternet.py
@@ -0,0 +1,17 @@
+import cStringIO
+from PIL import Image
+from mitmproxy.models import decoded
+
+
+def response(context, flow):
+ if flow.response.headers.get("content-type", "").startswith("image"):
+ with decoded(flow.response): # automatically decode gzipped responses.
+ try:
+ s = cStringIO.StringIO(flow.response.content)
+ img = Image.open(s).rotate(180)
+ s2 = cStringIO.StringIO()
+ img.save(s2, "png")
+ flow.response.content = s2.getvalue()
+ flow.response.headers["content-type"] = "image/png"
+ except: # Unknown image types etc.
+ pass