HEX
Server: LiteSpeed
System: Linux s787.bom1.mysecurecloudhost.com 4.18.0-477.13.1.lve.el8.x86_64 #1 SMP Thu Jun 1 16:40:47 EDT 2023 x86_64
User: mobilech (5348)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/aiohttp/__pycache__/client.cpython-310.pyc
o

;j8��@sUdZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZmZm
Z
mZmZddlmZddlmZddlmZmZmZmZmZmZmZmZddlZddlmZm Z m!Z!m"Z"ddl#m$Z$d	d
l%m&Z&m'Z'm(Z(d	dl)m*Z*d	dl+m,Z,d	d
l-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJd	dlKmLZLmMZMd	dlNmOZOmPZPmQZQmRZRmSZSd	dlTmUZUmVZVmWZWd	dlXmYZYmZZZm[Z[m\Z\m]Z]d	dl^m_Z_d	dl`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkd	dl'mlZlmmZmmnZnmoZod	dlpmqZqmrZrmsZsd	dltmuZumvZvd	dlwmxZxmyZymzZzm{Z{m|Z|m}Z}dZ~e�rEddlm�Z�neZ�ej�dk�rVe�rVddlm�Z�Gdd�dedd�Z�Gd d!�d!edd�Z�ej�d"d"d"d#�Gd$d%�d%��Z�e�d&d'd(�Z�ee�e�d)<e�hd*��Z�ed+d,d"d-�Z�eePe�ge�fZ�Gd.d/�d/�Z�Gd0d1�d1eeee�fee��Z�e�ePZ�e�eVe�Z�Gd2d3�d3�Z�ej�dk�r�e�r�e'j�ddd4�d5e�d6e}d7emd8eZdBd9ej�dBd:e�e�d;e�fd<d=�Z�dSe'j�ddd4�d5e�d6e}d7emd8eZdBd9ej�dBd:ed;e�fd>d=�Z�dS)?zHTTP Client for asyncio.�N)�	Awaitable�Callable�	Coroutine�	Generator�Iterable�Sequence)�suppress)�
TracebackType)�
TYPE_CHECKING�Any�Final�Generic�Literal�	TypedDict�TypeVar�overload)�CIMultiDict�	MultiDict�MultiDictProxy�istr)�URL�)�hdrs�http�payload)�WebSocketDataQueue)�AbstractCookieJar)�ClientConnectionError�ClientConnectionResetError�ClientConnectorCertificateError�ClientConnectorDNSError�ClientConnectorError�ClientConnectorSSLError�ClientError�ClientHttpProxyError�
ClientOSError�ClientPayloadError�ClientProxyConnectionError�ClientResponseError�ClientSSLError�ConnectionTimeoutError�ContentTypeError�
InvalidURL�InvalidUrlClientError�InvalidUrlRedirectClientError�NonHttpUrlClientError�NonHttpUrlRedirectClientError�RedirectClientError�ServerConnectionError�ServerDisconnectedError�ServerFingerprintMismatch�ServerTimeoutError�SocketTimeoutError�TooManyRedirects�WSMessageTypeError�WSServerHandshakeError)�ClientMiddlewareType�build_client_middlewares)�
ClientRequest�ClientResponse�Fingerprint�RequestInfo�_merge_ssl_params)�DEFAULT_WS_CLIENT_TIMEOUT�ClientWebSocketResponse�ClientWSTimeout)�HTTP_AND_EMPTY_SCHEMA_SET�
BaseConnector�NamedPipeConnector�TCPConnector�
UnixConnector)�	CookieJar)�	_SENTINEL�DEBUG�DEFAULT_CHUNK_SIZE�EMPTY_BODY_METHODS�	BasicAuth�
TimeoutHandle�basicauth_from_netrc�get_env_proxy_for_url�netrc_from_env�sentinel�strip_auth_from_url)�WS_KEY�HttpVersion�WebSocketReader�WebSocketWriter)�WSHandshakeError�
ws_ext_gen�ws_ext_parse)�Trace�TraceConfig)�JSONBytesEncoder�JSONEncoder�LooseCookies�LooseHeaders�Query�StrOrURL)*rrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r1r/r.r0r2r3r4r5r6r7r9r<r=r>r?rErGrHrFrB�
ClientSession�
ClientTimeoutrC�requestr8)�
SSLContext���)�Unpackc@sPeZdZUeed<eed<eed<edBed<edBed<ee	dBed<e
dBed<eed	<eed
<e	eBdBed<edBed<eed
<deBe
egedfBed<eed<edBed<e
dBed<ded<eeBeBed<e	dBed<edBed<eed<edBed<edBed<edBed<edBed<edBed<eedBed<dS)�_RequestOptions�params�data�jsonN�cookies�headers�skip_auto_headers�auth�allow_redirects�
max_redirects�compress�chunked�	expect100�raise_for_status�read_until_eof�proxy�
proxy_authz ClientTimeout | _SENTINEL | None�timeout�ssl�server_hostname�
proxy_headers�trace_request_ctx�read_bufsize�auto_decompress�
max_line_size�max_field_size�max_headers�middlewares)�__name__�
__module__�__qualname__rb�__annotations__rr`rar�strrN�bool�intrr=rrcrgr>�objectrr:�r�r��B/opt/saltstack/salt/lib/python3.10/site-packages/aiohttp/client.pyrl�s8
rlF��totalc@s�eZdZUeed<eeed<ded<edBed<eed<eed<edBed	<edBed
<edBed<e	ed<e
dBed
<edBed<edBed<eeBe
Bed<edBed<edBed<edBed<edBed<e
dBed<eed<eed<dS)�_WSConnectOptions�method�	protocolszClientWSTimeout | _SENTINELr}N�receive_timeout�	autoclose�autoping�	heartbeatrs�originrmrqr{r|r~�
verify_ssl�fingerprint�ssl_contextrr�rv�max_msg_size)r�r�r�r�r�r�floatr�rNrbrarcrgr>�bytesr�r�r�r�r�r��s,
r�T)Zauto_attribs�frozen�slotsc@sZeZdZUdZedBed<dZedBed<dZedBed<dZedBed<dZ	eed<dS)reNr��connect�	sock_read�sock_connect��ceil_threshold)
r�r�r�r�r�r�r�r�r�r�r�r�r�r�re�s
rei,�)r�r��DEFAULT_TIMEOUT>ZTRACE�HEADZDELETEZGET�PUTZOPTIONS�_RetType_coz.ClientResponse | ClientWebSocketResponse[bool])�bound�	covariantcDs�	eZdZUdZegd��ZdZejdBe	d<dZ
edBe	d<	d�ddddddddej
deeeejdddededdddeddd	d
d�ded
�dedBdedBdejdBdedBdedBdedBdedBdeedBdedBdededBdeedeedeede de!dBde"de"e#ege$dfBd e%e&Bd!e%dBd"e'e(Bd#e"d$e"d%e"d&e)e*dBd'e+d(e+d)e+d*e+d+e,d,e-e.d-e&dBe%Bd.dfBd/d0�Z/d1edd.dfd2d3�Z0e1r�d4ed5e2d.df�fd6d7�Z3e4fd8e2d.dfd9d:�Z5e6j7d;k�re8�rd<ed=ed>e9e:d.d?fd@dA�Z;n
d<ed=ed>e2d.d?fdBdA�Z;dCed.e<fdDdE�Z=dddddddddFdddddddeddddddddddddddG�d<edCedHe>dIe2dJe2dedBdedBdeedBdedBdKe"dLe+dMee"BdBdNe"dBdOe"dde"Be#ege$dfBdPe"dedBdedBd"e(e&BdQe"dBdRe?dBdSe@dBdTe@e"BeABdUedBdVedBdWe'd'e+dBd#e"dBd(e+dBd)e+dBd*e+dBd,e-e.dBd.efBdXdY�ZBe6j7d;k�re8�reCdZd[�d=ed\eDdd>e9eEd.d]fd^d_��ZFeCd=ed\eDdd>e9eEd.d`fdad_��ZFeCdZd[�d=ed\e"d>e9eEd.dbfdcd_��ZFeGjHdedddddddddddddddddddeddf�d=ed<edgeed"eIe&Bdhe%dBdie"dje"dke%dBdedBdledBdHe>dedBdedBdedBdTe@e"BeABdQe"dBdRe?dBdSe@dBdUedBdVedBdMe+dme+d\e"d.dbf0dnd_�ZFe6j7d;k�r�e8�r�eCdZd[�d=ed\eDdd>e9eEd.dofdpdq��ZJeCd=ed\eDdd>e9eEd.drfdsdq��ZJeCdZd[�d=ed\e"d>e9eEd.dtfdudq��ZJeGjHdedddddddddddddddddddeddf�d=ed<edgeed"eIe&Bdhe%dBdie"dje"dke%dBdedBdledBdHe>dedBdedBdedBdTe@e"BeABdQe"dBdRe?dBdSe@dBdUedBdVedBdMe+dme+d\e"d.dtf0dvdq�ZJdedBd.dwfdxdy�ZKdzed.edBfd{d|�ZLe6j7d;k�r�e8�r�d=ed>e9e:d.d?fd}d~�ZMd=ed>e9e:d.d?fdd��ZNd=ed>e9e:d.d?fd�d��ZOd=ed>e9e:d.d?fd�d��ZPd=ed>e9e:d.d?fd�d��ZQd=ed>e9e:d.d?fd�d��ZRd=ed>e9e:d.d?fd�d��ZSnkdd��d=edKe"d>e2d.d?fd�d~�ZMdd��d=edKe"d>e2d.d?fd�d��ZNdd��d=edKe"d>e2d.d?fd�d��ZOdd��d=edIe2d>e2d.d?fd�d��ZPdd��d=edIe2d>e2d.d?fd�d��ZQdd��d=edIe2d>e2d.d?fd�d��ZRd=ed>e2d.d?fd�d��ZSd�d�d��ZTeUd.e"fd�d���ZVeUd.edBfd�d���ZWeUd.e!fd�d���ZXeUd.eYe+e+ffd�d���ZZeUd.e"fd�d���Z[e[j\d5e"d.dfd�d���Z[eUd.ejfd�d���Z]eUd.e(fd�d���Z^eUd�d�d���Z_eUd.ee`fd�d���ZaeUd.edBfd�d���ZbeUd.efd�d���ZceUd.e"fd�d���ZdeUd.e"e#ege$dfBfd�d���ZeeUd.e"fd�d���ZfeUd.e"fd�d���ZgeUd.e)e*fd�d���Zhd�d�d��Zid�d�d��Zjd�eekdBd�ekdBd�eldBd.dfd�d��Zmd�d�d��Znd�eekdBd�ekdBd�eldBd.dfd�dÄZo�ZpS)�rdz/First-class interface for making HTTP requests.) �	_base_url�_base_url_origin�_source_traceback�
_connector�_loop�_cookie_jar�_connector_owner�
_default_auth�_version�_json_serialize�_json_serialize_bytes�_requote_redirect_url�_timeout�_raise_for_status�_auto_decompress�
_trust_env�_default_headers�_skip_auto_headers�_request_class�_response_class�_ws_response_class�_trace_configs�
_read_bufsize�_max_line_size�_max_field_size�_max_headers�_resolve_charset�_default_proxy�_default_proxy_auth�_retry_connection�_middlewares�requote_redirect_urlNr�r�TFi��cCsdS)Nzutf-8r�)�r�br�r�r��<lambda>UszClientSession.<lambda>r�)�	connector�looprprqr{r|rrrs�json_serialize�json_serialize_bytes�
request_class�response_class�ws_response_class�version�
cookie_jar�connector_ownerry�read_timeout�conn_timeoutr}r��	trust_envr��
trace_configsr�r�r�r��fallback_charset_resolverr��ssl_shutdown_timeout�base_urlr�r�rprqr{r|rrrsr�r�r�r�r�r�r�r�ryr�r�r}r�r�r�r�r�r�r�r�r�r�r��returnc#Cs�d|_|dur|dur|j}|pt��}|dust|t�r,||_|dur&dn|��|_nt|�|_|j��|_|jj	s?Jd��|jdurO|jj
�d�sOtd��|t
usW|dur�t|_|t
urotjdtdd�tj|j|d�|_|dur�tj|j|d�|_tjd	tdd�n"t|t�s�td
t|��d���||_|t
ur�td��|dur�td
��| t
ur�tjdtdd�|dur�t|| d�}|j|ur�td��||_|��r�t�t�d��|_|dur�t|d�}||_ |r�|j �!|�|	dur�tjdtdd�|du�rtjdtdd�||_||_"|	|_#||_$|
|_%||_&||_'||_(||_)||_*||_+||_,||_-||_.|�r5t/|�}!nt/�}!|!|_0|du�rKt1dd�|D��|_2nt1�|_2||_3|
|_4||_5|�p\g|_6|j6D]}"|"�7��qa||_8||_9||_:d|_;||_<dS)Nz Only absolute URLs are supported�/z!base_url must have a trailing '/'z8read_timeout is deprecated, use timeout argument instead���
stacklevelr�)r�z8conn_timeout is deprecated, use timeout argument insteadztimeout parameter cannot be of z. type, please use 'timeout=ClientTimeout(...)'zGread_timeout and timeout parameters conflict, please setup timeout.readzJconn_timeout and timeout parameters conflict, please setup timeout.connectzSThe ssl_shutdown_timeout parameter is deprecated and will be removed in aiohttp 4.0)r�r�z0Session and connector has to use same event loopr�r���The 'auth' parameter is deprecated and will be removed in v4; pass headers={'Authorization': aiohttp.encode_basic_auth(login, password)} instead��The 'proxy_auth' parameter is deprecated and will be removed in v4; pass proxy_headers={'Proxy-Authorization': aiohttp.encode_basic_auth(login, password)} insteadcss�|]}t|�VqdS�N�r��.0�ir�r�r��	<genexpr>�s�z)ClientSession.__init__.<locals>.<genexpr>T)=r�r��asyncioZget_running_loop�
isinstancerr�r�r��absolute�path�endswith�
ValueErrorrSr�r��warnings�warn�DeprecationWarning�attr�evolvere�typerG�RuntimeErrorZ	get_debug�	traceback�
extract_stack�sys�	_getframer�rIr��update_cookiesr�r�r�r�r�r�r�r�r�r�r�r�r�rr��	frozensetr�r�r�r�r�Zfreezer�r�r�r�r�)#�selfr�r�r�rprqr{r|rrrsr�r�r�r�r�r�r�r�ryr�r�r}r�r�r�r�r�r�r�r�r�r�r��real_headers�trace_configr�r�r��__init__5s�&
���
�����

�
�



zClientSession.__init__�clscCstjd|j�d�tdd�dS)NzInheritance class z" from ClientSession is discouragedr�r�)r�r�r�r�)r
r�r�r��__init_subclass__�s

�zClientSession.__init_subclass__�name�valcs4||jvrtjd|�d�tdd�t��||�dS)NzSetting custom ClientSession.z attribute is discouragedr�r�)�ATTRSr�r�r��super�__setattr__)rrr
��	__class__r�r�r�s

�zClientSession.__setattr__�	_warningscCsZ|js+d|i}|jd|��tfi|��|dd�}|jdur#|j|d<|j�|�dSdS)N�sourcezUnclosed client session zUnclosed client session)Zclient_session�messageZsource_traceback)�closedr��ResourceWarningr�r�Zcall_exception_handler)rr�kwargs�contextr�r�r��__del__�s
��


�zClientSession.__del__rhr��urlr�_RequestContextManagercK�dSr�r��rr�rrr�r�r�rfszClientSession.requestcKst|j||fi|���S)zPerform HTTP request.)r�_requestrr�r�r�rf
s�
str_or_urlcCs$t|�}|jr|js|j�|�S|Sr�)rr�r��join)rr rr�r�r��
_build_urlszClientSession._build_url�
)rmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r�r�r�r~rr�r�r�r�r�r�r�r�rmrnrortrurvrwrxrzr�r�r�r~rr�r�c<�s�	��jrtd��t||||�}|	durtjdtdd�|dur'tjdtdd�|dur3|dur3td��|durM�jdurEtj	|�jd�}ntj
|�jd�}t|
t
�s\|
dur\t�dt�d	}!g}"�j}#|pfi}��|�}z��|�}$Wnty�}%zt|�|%�d}%~%ww�jdus�J�|$j�jjvr�t|$��|dur�d
d�|D��jB}&n	�jr��j}&nd}&|dur��j}|dur��j}|dur�d}n��|�}zt|�}Wnty�}%zt|�|%�d}%~%ww|tur�j�n
t|t�s�t|d��n|�t�j�j �j!d
�}'|'�"�}(�du�r�j#��du�r�j$��du�r�j%��du�r$�j&��du�r,�j'���	fdd��j(D��
�
D]})|)�)||$�*|�|�IdH�q9|'�+���z{����j,�o[|t-v}*	t.|$�\}$}+|$j/�sr|!�rlt0nt},|,|$��|"�s|	�r|+�rtd��|	du�s�|"�r�|+du�r�|+}	|	du�r��j1�r��j2�r��j3|$�4�k�r��j1}	|	du�rˆj5�r�|$j6du�rˆj�7d�j8|$j6�IdH}	|du�r�|	du�r�t9j:|v�r�td���j;�<|$�}-|du�r�t=�j;j>�j;j?d�}.|.�@|�|.�<|$�}/|/�r�|-�A|/�d}0|du�r	t|�}0n$�j5�r-tBtC��tD�EtF|$�IdH\}0}Wd�n	1�s(wY�jG||$fid|�d|�d|&�d|�d|-�d|	�d|#�d|�d|
�d|�d�j�d�jH�d |0�d!|�d"��d#��d$|du�rm|nd�d%|�d&|�d'�
�d(�jI��}1d)tJd*tKf����������
f
d+d,�}2| du�r��jLn| }3|3�r�tM|2|3�}4n|2}4z	|4|1�IdH}5WnGtNtOtPtQf�y��tRtSf�y�|*�r�d-}*Y�q\�tT�y��tU�y�}6z|6jVdu�r�t|6tDjW��r�tR|6jX�|6�d}6~6ww|5jY�r�j;�Z|5jY|5j[�|5j\d.v�rW|
�rW�
D]})|)�]||$�*|�||5�IdH�q|!d/7}!|"�^|5�|�rO|!|k�rO|1j_du�rA|1j_�`�IdH|5�`�ta|"d	jbtc|"���|5j\d0k�r\|5jdt9jek�si|5j\d1v�r||5jdt9jfk�r|t9jg}d}|�ht9ji��r{|�jt9ji�n|1j_du�r�|1j_jk�r�|5�`�tld2��|1j_}|5jm�ht9jn��p�|5jm�ht9jo�}7|7du�r�n�|5�p�z
t|7�jqd3�}8Wn%t�y�}%z|1j_du�r�|1j_�`�IdH|5�`�t0|7d4�|%�d}%~%ww|8j}9|9trv�r�|1j_du�r�|1j_�`�IdH|5�`�ts|7��|9�s|$�t|8�}8z|8�4�}:Wn%t�y,};z|1j_du�r|1j_�`�IdH|5�`�t0|8d5�|;�d};~;ww|$�4�|:k�rMd}	d}|�jt9j:d�|�jt9jud�|�jt9jvd�|8}$i}|5�p��q\	Wd�n	1�scwY|1j_du�rv|1j_�`�IdH|du�r~�jw}|du�r�ntx|��r�||5�IdHn|�r�|5�y�|(du�r�|5jzdu�r�|5jz�{|(j|�n|(�|�tc|"�|5_}�
D]})|)�~||$�*|�||5�IdH�q�|5WSt�y�}%z"|'�`�|(�r�|(�|�d}(�
D]})|)��||$�*|�||%�IdH�q�d}%~%ww)6NzSession is closedr�rir�r�z9data and json parameters can not be used at the same time)�dumpszChunk size is deprecated #1615rcSsh|]}t|��qSr�r�r�r�r�r��	<setcomp>zs�z)ClientSession._request.<locals>.<setcomp>r�)r�cs g|]}t�||j�d���qS))r�)r\Ztrace_config_ctx)r�r)rr�r�r��
<listcomp>�s�
��z*ClientSession._request.<locals>.<listcomp>Tz<Cannot combine AUTH argument with credentials encoded in URLzTCannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL)�unsafe�quote_cookiermrqrrrnrprsr�rvrwrxr�r�r{r|�timer�sessionr~rr��tracesr��reqr�c�s���jdusJ�z�jj|�	�d�IdH}Wntjy,}z	td|j���|�d}~ww|jdus4J�|jj�|jt	v���j
��jj���d�
z!|�|�IdH}z|�
|�IdHWW|Styk|���wtyw|���w)N)r+r}zConnection timeout to host )
r)Zskip_payloadrzr�r�r�Ztimeout_ceil_thresholdr�r�r�)r�r�r��TimeoutErrorr*r�protocolZset_response_paramsr�rMr�Z_timeout_ceil_threshold�send�start�
BaseException�close)r,�conn�exc�resp)
r�r�r�r�r�rz�real_timeoutrr)r+r�r��_connect_and_send_request$sP��
��������z9ClientSession._request.<locals>._connect_and_send_requestF)�-�.�/i3i4rr:)r8r9zzCannot follow redirect with a consumed request body. Use bytes, a seekable file-like object, or set allow_redirects=False.)�encodedzHServer attempted redirecting to a location that does not look like a URLzInvalid redirect URL origin)�rr�r@r�r�r�r�r�rZJsonBytesPayloadZJsonPayloadr�r�r�r��_prepare_headersr"r-r��schemeZallowed_protocol_schema_setr/r�r�r�rr,rSr�rerOr�r�r�r0r�r�r�r�r�r�Zsend_request_startZupdate_queryr)r��IDEMPOTENT_METHODSrTZraw_hostr.r�r�r�r�r��hostZrun_in_executor�_get_netrc_authrZ
AUTHORIZATIONr�Zfilter_cookiesrIr'r(r�loadr�LookupErrorr�Z	to_threadrQr�r�r�r<r=r�r;r*r!rr"r%r3r#�OSError�errnor-�argsZ_raw_cookie_headersZupdate_cookies_from_headersr�statusZsend_request_redirect�appendZ_bodyr2r7�request_info�tupler��	METH_HEAD�	METH_POST�METH_GET�getZCONTENT_LENGTH�pop�consumedr&rqZLOCATIONZURI�releaser�rDr0r!ZCOOKIEZPROXY_AUTHORIZATIONr��callablery�
connectionZadd_callback�cancelZ_historyZsend_request_endr1Zsend_request_exception)<rr�r rmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r�r�r�r~rr�r�r�r�r�r�r�r�Z	redirects�historyr�r�eZskip_headers�tm�handleZtraceZretry_persistent_connectionZ
auth_from_urlZerr_exc_clsZall_cookiesZtmp_cookie_jarZreq_cookiesZproxy_r,r7Zeffective_middlewares�handlerr5r4Zr_urlZparsed_redirect_urlr=Zredirect_originZorigin_val_errr�)r�r�r�r�r�rzr6rr)r�r+r�rs��+���


����

��
�




�	����
��

�

�
�





���������	�
���
������������� �)�������
��
��

�����	

����	����!




����zClientSession._request.��decode_textrZzB_BaseRequestContextManager[ClientWebSocketResponse[Literal[True]]]cKrr�r��rrrZrr�r�r��
ws_connect�zClientSession.ws_connectzC_BaseRequestContextManager[ClientWebSocketResponse[Literal[False]]]cKrr�r�r[r�r�r�r\r]z9_BaseRequestContextManager[ClientWebSocketResponse[bool]]cKrr�r�r[r�r�r�r\r]ri@)r�r�r}r�r�r�r�rsr�rmrqr{r|r~r�r�r�rr�rvr�rZr�r�r�r�r�r�r�cCs�t|j|fid|�d|�d|�d|�d|�d|�d|�d|	�d	|
�d
|�d|�d|
�d
|�d|�d|�d|�d|�d|�d|�d|�d|�d|���S)zInitiate websocket connection.r�r�r}r�r�r�r�rsr�rmrqr{r|r~r�r�r�rr�rvr�rZ)�_WSRequestContextManager�_ws_connect)rrr�r�r}r�r�r�r�rsr�rmrqr{r|r~r�r�r�rr�rvr�rZr�r�r�r\ sb��������	�
���
������������z&ClientWebSocketResponse[Literal[True]]c���dSr�r�r[r�r�r�r_Z��zClientSession._ws_connectz'ClientWebSocketResponse[Literal[False]]c�r`r�r�r[r�r�r�r_crazClientWebSocketResponse[bool]c�r`r�r�r[r�r�r�r_lrac0
�s0�|	dur
tjdtdd�|durtjdtdd�|tur3t|t�r%|}ntjdtdd�t|d�}nt}|durHtjdtdd�tj||d	�}|durPt	�}nt	|�}t
jd
t
jdt
j
di}|��D]
\}}|�||�qct�t�d
��}|��|t
j<|r�d�|�|t
j<|
dur�|
|t
j<|r�t|d�}||t
j<|dur�tjdtdd�d}t||||�}|j||||d|	|
||||d�IdH}�z|jdkr�t|j|j d|j|j!d��|j!�"t
jd��#�d
kr�t|j|j d|j|j!d��|j!�"t
jd��#�dk�rt|j|j d|j|j!d��|j!�"t
j$d�} t�t%�&|t'��(����}!| |!k�r3t|j|j d|j|j!d��d}"|�r\t
j|j!v�r\dd�|j!t
j�)d�D�}#|#D]}$|$|v�rZ|$}"n�qOd}%|�r�|j!�"t
j�}&|&�r�zt*|&�\}}%Wn"t+�y�}'zt|j|j |'j,d|j|j!d�|'�d}'~'wwd}d}%|j-}(|(du�s�J�|(j.})|)du�s�J�|j/du�r�d|)_0n|)j0du�r�t1|j/|)j0�|)_0|(j2}*|*du�s�J�t3|)t4|j5d�}+t6|)|*d||%d �},Wn
t7�y�|�8��w|j9|+|,|"|||||j5|||%d!�}-t:|+||d"�}.|du�rdn|-j;}/|)j<|.|+|/d#�|-S)$Nr�rir�r�zeparameter 'timeout' of type 'float' is deprecated, please use 'timeout=ClientWSTimeout(ws_close=...)'r�)Zws_closezofloat parameter 'receive_timeout' is deprecated, please use parameter 'timeout=ClientWSTimeout(ws_receive=...)')�
ws_receiveZ	websocketZUpgradeZ13��,)rvz+ssl=None is deprecated, please use ssl=TrueTF)	rmrqrzrsr{r|r~rr��ezInvalid response status)rrFrq�zInvalid upgrade header�upgradezInvalid connection headerzInvalid challenge responsecSsg|]}|���qSr�)�strip)r��protor�r�r�r&s��z-ClientSession._ws_connect.<locals>.<listcomp>rr�)Zuse_maskrv�
notakeover)r�rvZclient_notakeoverrY)Zdata_received_cb)=r�r�r�rSr�rCrAr�r�rrZUPGRADEZ
CONNECTIONZSEC_WEBSOCKET_VERSION�items�
setdefault�base64�	b64encode�os�urandom�decodeZSEC_WEBSOCKET_KEYr!ZSEC_WEBSOCKET_PROTOCOLZORIGINrZZSEC_WEBSOCKET_EXTENSIONSr@rfrFr9rHrTrqrM�lowerZSEC_WEBSOCKET_ACCEPT�hashlib�sha1rU�digest�splitr[rYrErRr.rbr��max�	transportrrLr�rXr1r2r�rWZ_on_data_receivedZ
set_parser)0rrr�r�r}r�r�r�r�rsr�rmrqr{r|r~r�r�r�rr�rvr�rZZ
ws_timeoutrZdefault_headers�key�valueZsec_keyZextstrr5Zr_key�matchr.Zresp_protocolsrirjZ
compress_hdrsr4r3Z
conn_protorx�reader�writerZws_resp�parser�cbr�r�r�r_us^���
���


��
���	
�	�
�����	�
���
�CIMultiDict[str]cCsht|j�}|r2t|ttf�st|�}t�}|��D]\}}||vr(|�||�q|||<|�|�q|S)z3Add default headers and transform it to CIMultiDict)rr�r�rr�setrk�add)rrq�resultZadded_namesryrzr�r�r�r<bs
zClientSession._prepare_headersr?cCs(t�}zt||�WStyYdSw)z�
        Get auth from netrc for the given host.

        This method is designed to be called in an executor to avoid
        blocking I/O in the event loop.
        N)rRrPrB)rr?Z	netrc_objr�r�r�r@rs�zClientSession._get_netrc_authcKrr�r��rrrr�r�r�rM��zClientSession.getcKrr�r�r�r�r�r��options�r�zClientSession.optionscKrr�r�r�r�r�r��head�r�zClientSession.headcKrr�r�r�r�r�r��post�r�zClientSession.postcKrr�r�r�r�r�r��put�r�zClientSession.putcKrr�r�r�r�r�r��patch�r�zClientSession.patchcKrr�r�r�r�r�r��delete�r�zClientSession.delete)rtcK�t|jtj|fd|i|���S)zPerform HTTP GET request.rt)rrrrL�rrrtrr�r�r�rM������cKr�)zPerform HTTP OPTIONS request.rt)rrrZMETH_OPTIONSr�r�r�r�r��r�cKr�)zPerform HTTP HEAD request.rt)rrrrJr�r�r�r�r��r�)rncKr�)zPerform HTTP POST request.rn)rrrrK�rrrnrr�r�r�r����cKr�)zPerform HTTP PUT request.rn)rrrZMETH_PUTr�r�r�r�r��r�cKr�)zPerform HTTP PATCH request.rn)rrrZ
METH_PATCHr�r�r�r�r��r�cKst|jtj|fi|���S)zPerform HTTP DELETE request.)rrrZMETH_DELETEr�r�r�r�r��s�c�s6�|js|jdur|jr|j��IdHd|_dSdS)zMClose underlying connector.

        Release all acquired resources.
        N)rr�r�r2�rr�r�r�r2�s�
�zClientSession.closecCs|jdup|jjS)z@Is client session closed.

        A readonly property.
        N)r�rr�r�r�r�r�szClientSession.closedcC�|jS)z(Connector instance used for the session.�r�r�r�r�r�r���zClientSession.connectorcCr�)zThe session cookies.)r�r�r�r�r�r�r�zClientSession.cookie_jarcCr�)z"The session HTTP protocol version.)r�r�r�r�r�r�r�zClientSession.versioncCr�)�)Do URL requoting on redirection handling.)r�r�r�r�r�r�
r�z"ClientSession.requote_redirect_urlcCstjdtdd�||_dS)r�z=session.requote_redirect_url modification is deprecated #2778r�r�N)r�r�r�r�)rr
r�r�r�r�s�
cCstjdtdd�|jS)zSession's loop.z"client.loop property is deprecatedr�r�)r�r�r�r�r�r�r�r�r�s�zClientSession.loopcCr�)zTimeout for the session.)r�r�r�r�r�r}!r�zClientSession.timeoutcCr�)z*The default headers of the client session.)r�r�r�r�r�rq&r�zClientSession.headerscCr�)z2Headers for which autogeneration should be skipped)r�r�r�r�r�rr+r�zClientSession.skip_auto_headerscCr�)z2An object that represents HTTP Basic Authorization)r�r�r�r�r�rs0r�zClientSession.authcCr�)zJson serializer callable)r�r�r�r�r�r�5r�zClientSession.json_serializecCr�)z-Should connector be closed on session closing)r�r�r�r�r�r�:r�zClientSession.connector_ownercCr�)zGShould `ClientResponse.raise_for_status()` be called for each response.)r�r�r�r�r�ry?szClientSession.raise_for_statuscCr�)z7Should the body response be automatically decompressed.)r�r�r�r�r�r�Fr�zClientSession.auto_decompresscCr�)z�
        Should proxies information from environment or netrc be trusted.

        Information is from HTTP_PROXY / HTTPS_PROXY environment variables
        or ~/.netrc file if present.
        )r�r�r�r�r�r�KszClientSession.trust_envcCr�)z7A list of TraceConfig instances used for client tracing)r�r�r�r�r�r�Ur�zClientSession.trace_configscCs
d|_dS)zwDetach connector from session without closing the former.

        Session is switched to closed state anyway.
        Nr�r�r�r�r��detachZs
zClientSession.detachcCstd��)NzUse async with instead)�	TypeErrorr�r�r�r��	__enter__a�zClientSession.__enter__�exc_type�exc_val�exc_tbcCrr�r��rr�r�r�r�r�r��__exit__dr]zClientSession.__exit__c�s�|Sr�r�r�r�r�r��
__aenter__ms�zClientSession.__aenter__c�s�|��IdHdSr�)r2r�r�r�r��	__aexit__ps�zClientSession.__aexit__r��r�N)r�r�)r�rd)qr�r�r��__doc__rrr�r�StackSummaryr�r�rEror$r<r=rBr�
HttpVersion11rSrLrcr��AbstractEventLoopr`rarNrr�r_r^r�rVrr�rrr�rJr�re�listr]r��_CharsetResolverrr:r	rrKrrr�rr�version_infor
rkrlrfrr"rbr�rgr>rrrr�r\rrLrCr_r<r@rMr�r�r�r�r�r�r2�propertyrr�r�rIr�r��setterr�r}rqrrrrsr�r�ryr�r�r�r�r�r1r	r�r�r��
__classcell__r�r�rr�rd
s�
�%��������	�

���
��������������
����� �!�
"�#
�1	����	���
��������	�

���
�
�����������
����� �!�"�#�
$�%
�m���������������������	�
���
����
���������
�8���������������������	�
���
����
���������
�n
��
���
���
���
���
���
����	����
�����
�����
�����
�	����
�	����
�

	�	


���
�
	
����rdc@s�eZdZdZdeejedefddfdd�Z	dddejefdd	�Z
d
ededejefdd
�Zddd�Zde
edeffdd�Zde
edeffdd�Zdefdd�ZdeedBdedBdedBddfdd�ZdS)�_BaseRequestContextManager)�_coro�_resp�coroNr�cCs
||_dSr�)r�)rr�r�r�r�r	�
z#_BaseRequestContextManager.__init__�argcCs|j�|�Sr�)r�r/)rr�r�r�r�r/�sz_BaseRequestContextManager.sendrErcOs|jj|i|��Sr�)r��throw)rrErr�r�r�r��sz _BaseRequestContextManager.throwcCs
|j��Sr�)r�r2r�r�r�r�r2�r�z _BaseRequestContextManager.closecCs|j��}|Sr�)r��	__await__)r�retr�r�r�r��s
z$_BaseRequestContextManager.__await__cCs|��Sr�)r�r�r�r�r��__iter__�r�z#_BaseRequestContextManager.__iter__c�s �|jIdH|_|j��IdHSr�)r�r�r�r�r�r�r�r��s�z%_BaseRequestContextManager.__aenter__r�r4�tbc�s�|j�|||�IdHdSr�)r�r��rr�r4r�r�r�r�r��s�z$_BaseRequestContextManager.__aexit__r�)r�r�r��	__slots__rr��Futurerr�r	r/r�r2rr�r�r�r�r1r	r�r�r�r�r�r�ys$"

����r�c@sneZdZdZdeejedefde	ddfdd�Z
defdd	�Zd
ee
dBde
dBdedBddfd
d�ZdS)�_SessionRequestContextManager�r�r��_sessionr�Nr*r�cCs||_d|_||_dSr�r�)rr�r*r�r�r�r	�s
z&_SessionRequestContextManager.__init__c�s:�z|jIdH|_W|jSty|j��IdH�wr�)r�r�r1r�r2r�r�r�r�r��s���z(_SessionRequestContextManager.__aenter__r�r4r�c�s.�|jdusJ�|j��|j��IdHdSr�)r�r2r�r�r�r�r�r��s�
z'_SessionRequestContextManager.__aexit__)r�r�r�r�rr�r�rr=rdr	r�r�r1r	r�r�r�r�r�r��s&��
�		
����r�)r�r�r�r�rr�r�r�rr�cKrr�r�)r�rr�r�r�rr�r�r�rf�srfcKsZd}|durd}t|dd�}t||�dd�||�dt�||d�}t|j||fi|��|�S)aBConstructs and sends a request.

        Returns response object.
        method - HTTP method
        url - request url
        params - (optional) Dictionary or bytes to be sent in the query
        string of the new request
        data - (optional) Dictionary, bytes, or file-like object to
        send in the body of the request
        json - (optional) Any json compatible python object
        headers - (optional) Dictionary of HTTP Headers to send with
        the request
        cookies - (optional) Dict object to send with the request
        auth - (optional) BasicAuth named tuple represent HTTP Basic Auth
        auth - aiohttp.helpers.BasicAuth
        allow_redirects - (optional) If set to False, do not follow
        redirects
        version - Request HTTP version.
        compress - Set to True if request has to be compressed
        with deflate encoding.
        chunked - Set to chunk size for chunked transfer encoding.
        expect100 - Expect 100-continue response from server.
        connector - BaseConnector sub-class instance to support
        connection pooling.
        read_until_eof - Read response until eof if response
        does not have Content-Length header.
        loop - Optional event loop.
        timeout - Optional ClientTimeout settings structure, 5min
        total timeout by default.
        Usage::
        >>> import aiohttp
        >>> async with aiohttp.request('GET', 'http://python.org/') as resp:
        ...    print(resp)
        ...    data = await resp.read()
        <ClientResponse(https://www.python.org/) [200 OK]>
        FNT)r�Zforce_closerpr})r�rpr�r}r�r�)rGrdrNrSr�r)r�rr�r�r�rr�r*r�r�r�rf�s -

�	�)�r�r�rmrsrororrr��collections.abcrrrrrr�
contextlibr�typesr	�typingr
rrr
rrrrr�Z	multidictrrrrZyarlrrfrrrZ_websocket.readerr�abcrZclient_exceptionsrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9Zclient_middlewaresr:r;Z
client_reqrepr<r=r>r?r@Z	client_wsrArBrCr�rDrErFrGrHZ	cookiejarrIZhelpersrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXZhttp_websocketrYrZr[�tracingr\r]Ztypedefsr^r_r`rarbrc�__all__r~rgr�rkrlr��srer�r�rr>r�r�r�r�rdr�rr�r^r�r�r�rfr�r�r�r��<module>s� (|4
 	3�
y�&!����������������