requests hooks this module provides the capabilities for the requests hooks system available hooks response the response generated from a request todo response is the only one dispatches a hook dictionary on a given piece of data hooks hooks or hooks hooks getkey if hooks if hasattrhooks call hooks hooks for hook in hooks hookdata hookhookdata kwargs if hookdata is not none hookdata hookdata return hookdata todo response is the only one dispatches a hook dictionary on a given piece of data
HOOKS = ["response"]


def default_hooks():
    return {event: [] for event in HOOKS}





def dispatch_hook(key, hooks, hook_data, **kwargs):
    
    hooks = hooks or {}
    hooks = hooks.get(key)
    if hooks:
        if hasattr(hooks, "__call__"):
            hooks = [hooks]
        for hook in hooks:
            _hook_data = hook(hook_data, **kwargs)
            if _hook_data is not None:
                hook_data = _hook_data
    return hook_data