You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			34 lines
		
	
	
		
			733 B
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			34 lines
		
	
	
		
			733 B
		
	
	
	
		
			Python
		
	
"""
 | 
						|
requests.hooks
 | 
						|
~~~~~~~~~~~~~~
 | 
						|
 | 
						|
This module provides the capabilities for the Requests hooks system.
 | 
						|
 | 
						|
Available hooks:
 | 
						|
 | 
						|
``response``:
 | 
						|
    The response generated from a Request.
 | 
						|
"""
 | 
						|
HOOKS = ["response"]
 | 
						|
 | 
						|
 | 
						|
def default_hooks():
 | 
						|
    return {event: [] for event in HOOKS}
 | 
						|
 | 
						|
 | 
						|
# TODO: response is the only one
 | 
						|
 | 
						|
 | 
						|
def dispatch_hook(key, hooks, hook_data, **kwargs):
 | 
						|
    """Dispatches a hook dictionary on a given piece of data."""
 | 
						|
    hooks = hooks or {}
 | 
						|
    hooks = hooks.get(key)
 | 
						|
    if hooks:
 | 
						|
        if hasattr(hooks, "__call__"):
 | 
						|
            hooks = [hooks]
 | 
						|
        for hook in hooks:
 | 
						|
            _hook_data = hook(hook_data, **kwargs)
 | 
						|
            if _hook_data is not None:
 | 
						|
                hook_data = _hook_data
 | 
						|
    return hook_data
 |