merge_setting() — requests Function Reference
Architecture documentation for the merge_setting() function in sessions.py from the requests codebase.
Entity Profile
Dependency Diagram
graph TD dba9d4ef_b6f9_4932_f472_7c695f48234a["merge_setting()"] ea1101aa_233b_1206_7b38_a38f0fe92a52["sessions.py"] dba9d4ef_b6f9_4932_f472_7c695f48234a -->|defined in| ea1101aa_233b_1206_7b38_a38f0fe92a52 919b2f5b_cd12_1f69_f209_1da676f40b2d["merge_hooks()"] 919b2f5b_cd12_1f69_f209_1da676f40b2d -->|calls| dba9d4ef_b6f9_4932_f472_7c695f48234a a4eb532d_c481_9e3e_ad07_8d203ffafd2d["prepare_request()"] a4eb532d_c481_9e3e_ad07_8d203ffafd2d -->|calls| dba9d4ef_b6f9_4932_f472_7c695f48234a a33f5af9_f802_7d68_8e3b_ee865096e920["merge_environment_settings()"] a33f5af9_f802_7d68_8e3b_ee865096e920 -->|calls| dba9d4ef_b6f9_4932_f472_7c695f48234a 1d5603b3_e7c9_dfae_a29a_d8c05ae35261["to_key_val_list()"] dba9d4ef_b6f9_4932_f472_7c695f48234a -->|calls| 1d5603b3_e7c9_dfae_a29a_d8c05ae35261 0aace64c_6424_62be_3052_5ea0e8ae90d3["update()"] dba9d4ef_b6f9_4932_f472_7c695f48234a -->|calls| 0aace64c_6424_62be_3052_5ea0e8ae90d3 342c3122_113c_32a4_2286_94935f7ac0a8["items()"] dba9d4ef_b6f9_4932_f472_7c695f48234a -->|calls| 342c3122_113c_32a4_2286_94935f7ac0a8 style dba9d4ef_b6f9_4932_f472_7c695f48234a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
src/requests/sessions.py lines 62–89
def merge_setting(request_setting, session_setting, dict_class=OrderedDict):
"""Determines appropriate setting for a given request, taking into account
the explicit setting on that request, and the setting in the session. If a
setting is a dictionary, they will be merged together using `dict_class`
"""
if session_setting is None:
return request_setting
if request_setting is None:
return session_setting
# Bypass if not a dictionary (e.g. verify)
if not (
isinstance(session_setting, Mapping) and isinstance(request_setting, Mapping)
):
return request_setting
merged_setting = dict_class(to_key_val_list(session_setting))
merged_setting.update(to_key_val_list(request_setting))
# Remove keys that are set to None. Extract keys first to avoid altering
# the dictionary during iteration.
none_keys = [k for (k, v) in merged_setting.items() if v is None]
for key in none_keys:
del merged_setting[key]
return merged_setting
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does merge_setting() do?
merge_setting() is a function in the requests codebase, defined in src/requests/sessions.py.
Where is merge_setting() defined?
merge_setting() is defined in src/requests/sessions.py at line 62.
What does merge_setting() call?
merge_setting() calls 3 function(s): items, to_key_val_list, update.
What calls merge_setting()?
merge_setting() is called by 3 function(s): merge_environment_settings, merge_hooks, prepare_request.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free