diff options
author | k clair <kclair@riseup.net> | 2012-10-09 13:14:36 -0700 |
---|---|---|
committer | k clair <kclair@riseup.net> | 2012-10-09 13:14:36 -0700 |
commit | 568720334aa630ea504b2ce3b8c324f0a557d6e6 (patch) | |
tree | 81b7a7f273da3fc0d431ddb354264e8287f5ccc0 /requests-0.14.0/requests/hooks.py |
add source files from upstream
Diffstat (limited to 'requests-0.14.0/requests/hooks.py')
-rw-r--r-- | requests-0.14.0/requests/hooks.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/requests-0.14.0/requests/hooks.py b/requests-0.14.0/requests/hooks.py new file mode 100644 index 0000000..9e0ce34 --- /dev/null +++ b/requests-0.14.0/requests/hooks.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +""" +requests.hooks +~~~~~~~~~~~~~~ + +This module provides the capabilities for the Requests hooks system. + +Available hooks: + +``args``: + A dictionary of the arguments being sent to Request(). + +``pre_request``: + The Request object, directly after being created. + +``pre_send``: + The Request object, directly before being sent. + +``post_request``: + The Request object, directly after being sent. + +``response``: + The response generated from a Request. + +""" + + +HOOKS = ('args', 'pre_request', 'pre_send', 'post_request', 'response') + + +def dispatch_hook(key, hooks, hook_data): + """Dispatches a hook dictionary on a given piece of data.""" + + hooks = hooks or dict() + + if key in hooks: + hooks = hooks.get(key) + + if hasattr(hooks, '__call__'): + hooks = [hooks] + + for hook in hooks: + _hook_data = hook(hook_data) + if _hook_data is not None: + hook_data = _hook_data + + + return hook_data |