diff options
Diffstat (limited to 'venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/hooks.py')
-rw-r--r-- | venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/hooks.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/hooks.py b/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/hooks.py new file mode 100644 index 0000000..14db0c8 --- /dev/null +++ b/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_vendor/requests/hooks.py | |||
@@ -0,0 +1,34 @@ | |||
1 | # -*- coding: utf-8 -*- | ||
2 | |||
3 | """ | ||
4 | requests.hooks | ||
5 | ~~~~~~~~~~~~~~ | ||
6 | |||
7 | This module provides the capabilities for the Requests hooks system. | ||
8 | |||
9 | Available hooks: | ||
10 | |||
11 | ``response``: | ||
12 | The response generated from a Request. | ||
13 | """ | ||
14 | HOOKS = ['response'] | ||
15 | |||
16 | |||
17 | def default_hooks(): | ||
18 | return dict((event, []) for event in HOOKS) | ||
19 | |||
20 | # TODO: response is the only one | ||
21 | |||
22 | |||
23 | def dispatch_hook(key, hooks, hook_data, **kwargs): | ||
24 | """Dispatches a hook dictionary on a given piece of data.""" | ||
25 | hooks = hooks or dict() | ||
26 | hooks = hooks.get(key) | ||
27 | if hooks: | ||
28 | if hasattr(hooks, '__call__'): | ||
29 | hooks = [hooks] | ||
30 | for hook in hooks: | ||
31 | _hook_data = hook(hook_data, **kwargs) | ||
32 | if _hook_data is not None: | ||
33 | hook_data = _hook_data | ||
34 | return hook_data | ||