From 568720334aa630ea504b2ce3b8c324f0a557d6e6 Mon Sep 17 00:00:00 2001 From: k clair Date: Tue, 9 Oct 2012 13:14:36 -0700 Subject: add source files from upstream --- requests-0.14.0/requests/hooks.py | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 requests-0.14.0/requests/hooks.py (limited to 'requests-0.14.0/requests/hooks.py') 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 -- cgit v1.2.3