aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-05-18 18:46:42 -0700
committerMaximilian Hils <git@maximilianhils.com>2016-05-18 18:46:42 -0700
commit44ac64aa7235362acbb96e0f12aa27534580e575 (patch)
treec03b8c3519c273a4f42b60cb2bce8cc0dd524925 /examples
parent4c3fb8f5097fad2c5de96104dae3f8026b0b4666 (diff)
downloadmitmproxy-44ac64aa7235362acbb96e0f12aa27534580e575.tar.gz
mitmproxy-44ac64aa7235362acbb96e0f12aa27534580e575.tar.bz2
mitmproxy-44ac64aa7235362acbb96e0f12aa27534580e575.zip
add MultiDict
This commit introduces MultiDict, a multi-dictionary similar to ODict, but with improved semantics (as in the Headers class). MultiDict fixes a few issues that were present in the Request/Response API. In particular, `request.cookies["foo"] = "bar"` has previously been a no-op, as the cookies property returned a mutable _copy_ of the cookies.
Diffstat (limited to 'examples')
-rw-r--r--examples/modify_form.py11
-rw-r--r--examples/modify_querystring.py5
2 files changed, 8 insertions, 8 deletions
diff --git a/examples/modify_form.py b/examples/modify_form.py
index 86188781..c4edb2cd 100644
--- a/examples/modify_form.py
+++ b/examples/modify_form.py
@@ -1,5 +1,8 @@
def request(context, flow):
- form = flow.request.urlencoded_form
- if form is not None:
- form["mitmproxy"] = ["rocks"]
- flow.request.urlencoded_form = form
+ if flow.request.urlencoded_form is not None:
+ flow.request.urlencoded_form["mitmproxy"] = "rocks"
+ else:
+ # This sets the proper content type and overrides the body.
+ flow.request.urlencoded_form = [
+ ("foo", "bar")
+ ]
diff --git a/examples/modify_querystring.py b/examples/modify_querystring.py
index d682df69..b89e5c8d 100644
--- a/examples/modify_querystring.py
+++ b/examples/modify_querystring.py
@@ -1,5 +1,2 @@
def request(context, flow):
- q = flow.request.query
- if q:
- q["mitmproxy"] = ["rocks"]
- flow.request.query = q
+ flow.request.query["mitmproxy"] = "rocks"