Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# -*- coding: utf-8 -*- 

2 

3""" 

4requests.hooks 

5~~~~~~~~~~~~~~ 

6 

7This module provides the capabilities for the Requests hooks system. 

8 

9Available hooks: 

10 

11``response``: 

12 The response generated from a Request. 

13""" 

14HOOKS = ['response'] 

15 

16 

17def default_hooks(): 

18 return {event: [] for event in HOOKS} 

19 

20# TODO: response is the only one 

21 

22 

23def 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