Attention

This is the documentation for HARP Proxy, actually published as an early preview. Both the software and documentation are a work in progress, and although we already use it on various production servers, they may contain inaccuracies, typographical errors, huge mistakes and empty pages. We work hard to eradicate all mistakes and implement stuff, but it is a long and tedious process. We appreciate your patience and understanding. Of course, any help will be greatly appreciated.

harp.utils.collections

class MultiChainMap[source]

Bases: ChainMap

Implements the logic of chainmap, but for multidicts. It also allows to unset values on some key, this will be used for headers, cookies, query string … to allow the user to rewrite requests/responses in a memory efficient way.

The current implementation is neither complete, nor optimized.

TODO: find a better way for __iter__

Initialize a ChainMap by setting maps to the given mappings. If no mappings are provided, a single empty dictionary is used.

items() a set-like object providing a view on D's items[source]
pop(key)[source]

Remove key from maps[0] and return its value. Raise KeyError if key not in maps[0].

popitem()[source]

Remove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.