Mercurial > repos > rliterman > csp2
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 |