Home / Function/ merge_setting() — requests Function Reference

merge_setting() — requests Function Reference

Architecture documentation for the merge_setting() function in sessions.py from the requests codebase.

Function python CoreAPI SessionLifecycle calls 3 called by 3

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

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