annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/site-packages/requests/hooks.py @ 68:5028fdace37b

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
rev   line source
jpayne@68 1 """
jpayne@68 2 requests.hooks
jpayne@68 3 ~~~~~~~~~~~~~~
jpayne@68 4
jpayne@68 5 This module provides the capabilities for the Requests hooks system.
jpayne@68 6
jpayne@68 7 Available hooks:
jpayne@68 8
jpayne@68 9 ``response``:
jpayne@68 10 The response generated from a Request.
jpayne@68 11 """
jpayne@68 12 HOOKS = ["response"]
jpayne@68 13
jpayne@68 14
jpayne@68 15 def default_hooks():
jpayne@68 16 return {event: [] for event in HOOKS}
jpayne@68 17
jpayne@68 18
jpayne@68 19 # TODO: response is the only one
jpayne@68 20
jpayne@68 21
jpayne@68 22 def dispatch_hook(key, hooks, hook_data, **kwargs):
jpayne@68 23 """Dispatches a hook dictionary on a given piece of data."""
jpayne@68 24 hooks = hooks or {}
jpayne@68 25 hooks = hooks.get(key)
jpayne@68 26 if hooks:
jpayne@68 27 if hasattr(hooks, "__call__"):
jpayne@68 28 hooks = [hooks]
jpayne@68 29 for hook in hooks:
jpayne@68 30 _hook_data = hook(hook_data, **kwargs)
jpayne@68 31 if _hook_data is not None:
jpayne@68 32 hook_data = _hook_data
jpayne@68 33 return hook_data