comparison env/lib/python3.9/site-packages/requests/hooks.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4f3585e2f14b
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 {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 {}
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