Module Import alias Import alias Import alias Import alias ImportFrom alias ImportFrom alias alias ClassDef bases NameLoad body Assign NameStore Dict decorator_list FunctionDef arguments args defaults body Return AttributeLoad NameLoad attr decorator_list Expr Call AttributeLoad NameLoad attr Str keyword NameLoad keyword NameLoad ClassDef bases NameLoad body Pass decorator_list Expr Call AttributeLoad NameLoad attr Str ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign TupleStore AttributeStore NameLoad attr AttributeStore NameLoad attr AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body If CompareIsNot AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list decorator_list FunctionDef arguments args defaults body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str If Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad orelse Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign SubscriptStore AttributeLoad NameLoad attr Index Str Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Return TupleLoad NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body If BoolOpAnd CompareIs NameLoad NameLoad CompareIs NameLoad NameLoad body Assign AttributeStore NameLoad attr Dict If CompareIs AttributeLoad NameLoad attr NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr Return TupleLoad Call NameLoad NameLoad Call NameLoad Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Raise Call NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareIn NameLoad AttributeLoad NameLoad attr body Raise Call NameLoad BinOpMod Str TupleLoad NameLoad SubscriptLoad AttributeLoad NameLoad attr Index Call NameLoad NameLoad NameLoad orelse Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad If UnaryOpNot CompareIs NameLoad NameLoad body TryExcept body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad handlers ExceptHandler type NameLoad body Pass Return NameLoad decorator_list decorator_list ClassDef bases NameLoad body Pass decorator_list
N/A N/A base64 N/A json N/A os N/A uuid multiprocessing Process multiprocessing.managers BaseManager DictProxy ServerDictManager N/A BaseManager N/A N/A shared_data N/A N/A _get_shared N/A N/A N/A N/A N/A N/A ServerDictManager shared_data N/A N/A N/A N/A ServerDictManager register get_dict callable _get_shared proxytype DictProxy ClientDictManager N/A BaseManager N/A N/A N/A N/A N/A N/A ClientDictManager register get_dict StashServer N/A object N/A __init__ N/A N/A self address authkey N/A None None N/A N/A N/A self address address N/A N/A self authkey authkey N/A N/A self manager None N/A __enter__ N/A N/A self N/A N/A N/A N/A N/A self manager N/A self address N/A self authkey N/A start_server N/A self address N/A self authkey N/A N/A store_env_config N/A self address N/A self authkey N/A __exit__ N/A N/A self N/A args kwargs N/A N/A N/A N/A self manager None N/A N/A N/A N/A N/A self manager shutdown N/A N/A load_env_config N/A N/A N/A N/A N/A N/A address authkey N/A N/A json loads N/A N/A os environ N/A WPT_STASH_CONFIG N/A N/A isinstance address list N/A N/A address N/A tuple address N/A N/A address N/A str address N/A authkey N/A N/A base64 decodestring authkey N/A N/A address authkey N/A store_env_config N/A N/A address authkey N/A N/A N/A authkey N/A N/A base64 encodestring authkey N/A N/A N/A os environ N/A WPT_STASH_CONFIG N/A N/A json dumps N/A address authkey N/A start_server N/A N/A address authkey N/A None None N/A N/A manager N/A ServerDictManager address authkey N/A N/A N/A manager start N/A N/A manager N/A manager _address N/A manager _authkey N/A Stash N/A object N/A N/A Key-value store for persisting data across HTTP/S and WS/S requests.

    This data store is specifically designed for persisting data across server
    requests. The synchronization is achieved by using the BaseManager from
    the multiprocessing module so different processes can acccess the same data.

    Stash can be used interchangeably between HTTP, HTTPS, WS and WSS servers.
    A thing to note about WS/S servers is that they require additional steps in
    the handlers for accessing the same underlying shared data in the Stash.
    This can usually be achieved by using load_env_config(). When using Stash
    interchangeably between HTTP/S and WS/S request, the path part of the key
    should be expliclitly specified if accessing the same key/value subset.

    The store has several unusual properties. Keys are of the form (path,
    uuid), where path is, by default, the path in the HTTP request and
    uuid is a unique id. In addition, the store is write-once, read-once,
    i.e. the value associated with a particular key cannot be changed once
    written and the read operation (called "take") is destructive. Taken together,
    these properties make it difficult for data to accidentally leak
    between different resources or different requests for the same
    resource.
     N/A _proxy None __init__ N/A N/A self default_path address authkey N/A None None N/A N/A N/A self default_path default_path N/A N/A self data N/A N/A self _get_proxy address authkey N/A _get_proxy N/A N/A self address authkey N/A None None N/A N/A N/A N/A address None N/A authkey None N/A N/A N/A Stash _proxy N/A N/A N/A N/A Stash _proxy None N/A N/A manager N/A ClientDictManager address authkey N/A N/A N/A manager connect N/A N/A Stash _proxy N/A N/A manager get_dict N/A N/A Stash _proxy N/A _wrap_key N/A N/A self key path N/A N/A N/A N/A path None N/A N/A path N/A self default_path N/A N/A N/A str path N/A str N/A N/A uuid UUID key N/A put N/A N/A self key value path N/A None N/A N/A Place a value in the shared stash.

        :param key: A UUID to use as the data's key.
        :param value: The data to store. This can be any python object.
        :param path: The path that has access to read the data (by default
                     the current request path) N/A N/A value None N/A N/A N/A ValueError SharedStash value may not be set to None N/A internal_key N/A N/A self _wrap_key key path N/A N/A internal_key N/A self data N/A N/A N/A StashError N/A Tried to overwrite existing shared stash value for key %s (old value was %s, new value is %s) N/A internal_key N/A N/A self data N/A N/A str internal_key value N/A N/A N/A N/A self data N/A internal_key value N/A take N/A N/A self key path N/A None N/A N/A Remove a value from the shared stash and return it.

        :param key: A UUID to use as the data's key.
        :param path: The path that has access to read the data (by default
                     the current request path) N/A internal_key N/A N/A self _wrap_key key path N/A value N/A N/A N/A self data get internal_key None N/A N/A N/A value None N/A N/A N/A N/A N/A N/A N/A self data pop internal_key N/A N/A N/A KeyError N/A N/A N/A value N/A N/A StashError N/A Exception N/A N/A N/A