diff options
Diffstat (limited to 'scripts/external_libs/requests/requests/hooks.py')
-rw-r--r-- | scripts/external_libs/requests/requests/hooks.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/external_libs/requests/requests/hooks.py b/scripts/external_libs/requests/requests/hooks.py new file mode 100644 index 00000000..32b32de7 --- /dev/null +++ b/scripts/external_libs/requests/requests/hooks.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +""" +requests.hooks +~~~~~~~~~~~~~~ + +This module provides the capabilities for the Requests hooks system. + +Available hooks: + +``response``: + The response generated from a Request. +""" +HOOKS = ['response'] + + +def default_hooks(): + return dict((event, []) for event in HOOKS) + +# TODO: response is the only one + + +def dispatch_hook(key, hooks, hook_data, **kwargs): + """Dispatches a hook dictionary on a given piece of data.""" + hooks = hooks or dict() + 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 |