aboutsummaryrefslogtreecommitdiffstats
path: root/netlib/http/http2/utils.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-07-06 19:50:06 -0700
committerMaximilian Hils <git@maximilianhils.com>2016-07-06 19:53:29 -0700
commit9c873d63f4ede1b2470f8e7ea838909e60efe998 (patch)
tree0f37b0c6a5a792438dff3225c2045c0aa923e187 /netlib/http/http2/utils.py
parent55fae7cea90ee69338ef410e1db4a48b8b604619 (diff)
downloadmitmproxy-9c873d63f4ede1b2470f8e7ea838909e60efe998.tar.gz
mitmproxy-9c873d63f4ede1b2470f8e7ea838909e60efe998.tar.bz2
mitmproxy-9c873d63f4ede1b2470f8e7ea838909e60efe998.zip
py3++, multidict fixes
This commit improves Python 3 compatibility and fixes two multidict issues: 1. Headers.items(multi=True) now decodes fields 2. MultiDict.clear(item) has been removed, as Python's MutableMapping already defines .clear() with different semantics. This is confusing for everyone who expects a dict-like object. `.pop("attr", None)` is not fantastic, but it's the Python way to do it.
Diffstat (limited to 'netlib/http/http2/utils.py')
-rw-r--r--netlib/http/http2/utils.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/netlib/http/http2/utils.py b/netlib/http/http2/utils.py
index 4c01952d..164bacc8 100644
--- a/netlib/http/http2/utils.py
+++ b/netlib/http/http2/utils.py
@@ -7,9 +7,9 @@ def parse_headers(headers):
scheme = headers.get(':scheme', 'https').encode()
path = headers.get(':path', '/').encode()
- headers.clear(":method")
- headers.clear(":scheme")
- headers.clear(":path")
+ headers.pop(":method", None)
+ headers.pop(":scheme", None)
+ headers.pop(":path", None)
host = None
port = None