from six import text_type # noqa: F401
from typing import List, Tuple # noqa: F401
from werkzeug.datastructures import ImmutableMultiDict
[docs]class WaskImmutableMultiDict(ImmutableMultiDict):
"""
In webapp2 they use webob.multidict.GetDict, which operates almost identically
to werkzeug.datastructures.ImmutableMultiDict.
The only difference is that in GetDict.items() by default it returns duplicate values,
whereas in ImmutableMultiDict.items() by default it doesn't
e.g. for GET /?foo=bar&foo=baz
webob.multidict.GetDict.items() returns [("foo", "bar"), ("foo", "baz")]
werkzeug.datastructures.ImmutableMultiDict.items() returns [("foo", "bar")]
"""
def items(self, multi=True):
# type: (bool) -> List[Tuple[text_type, text_type]]
return super(WaskImmutableMultiDict, self).items(multi=multi)