← Back
Editing: sessions.cpython-312.pyc
� ]*jȅ � �B � d Z ddlmZ ddlZddlZddlZddlmZ ddlm Z m Z mZ ddlm Z ddlmZmZmZ dd lmZ dd lmZ ddlmZ ddlmZ dd lmZmZmZ ddlm Z m!Z!m"Z"m#Z# ddl$m%Z%m&Z&m'Z'm(Z( ddl)m*Z*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ erddlAmBZB ddlCmDZDmEZE ddlFmZG ddlmHZH ej� dk( r ej� ZKnej ZKef d!d�ZLef d"d�ZM G d� d� ZN G d� deN� ZOd#d �ZPy)$z� requests.sessions ~~~~~~~~~~~~~~~~~ This module provides a Session object to manage and persist settings across requests (cookies, auth, proxies). � )�annotationsN)�OrderedDict)� Generator�Mapping�MutableMapping)� timedelta)� TYPE_CHECKING�Any�cast� )�to_native_string)�is_prepared)�HTTPAdapter)�_basic_auth_str)� cookielib�urljoin�urlparse)�RequestsCookieJar�cookiejar_from_dict�extract_cookies_to_jar� merge_cookies)�ChunkedEncodingError�ContentDecodingError� InvalidSchema�TooManyRedirects)� default_hooks� dispatch_hook)�DEFAULT_REDIRECT_LIMIT�REDIRECT_STATI�PreparedRequest�Request�Response)�codes)�CaseInsensitiveDict) � DEFAULT_PORTS�default_headers�get_auth_from_url�get_environ_proxies�get_netrc_auth�requote_uri�resolve_proxies�rewind_body�should_bypass_proxies�to_key_val_list)� CookieJar)�Self�Unpack)�_types)�BaseAdapter�win32c � � |�| S | �|S t |t � rt | t � s| S |t |� � }|j t | � � |j � D ��cg c] \ }}|�� |�� }}}|D ] }||= � |S c c}}w )z�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` )� isinstancer r. �update�items)�request_setting�session_setting� dict_class�merged_setting�k�v� none_keys�keys �@/opt/hc_python/lib/python3.12/site-packages/requests/sessions.py� merge_settingrB L s� � � �������� �?�G�,��O�W�1U������ @�A�N����/�/�:�;� "0�!5�!5�!7�E�!7�v��1�1�9��!7�I�E����3�� � ��� Fs �) B�4Bc �| � |�|j d� g k( r| S | �| j d� g k( r|S t | ||� S )z�Properly merges both requests and session hooks. This is necessary because when request_hooks == {'response': []}, the merge breaks Session hooks entirely. �response)�getrB )� request_hooks� session_hooksr; s rA �merge_hooksrH l sO � � �� � 1� 1�*� =�� C����� � 1� 1�*� =�� C����� �z�B�B� c � � e Zd ZU ded<