HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/aiohttp/__pycache__/client.cpython-310.pyc
o

���g%��@s�UdZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZddl
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z ddl!Z!ddl"m#Z#m$Z$m%Z%m&Z&ddl'm(Z(dd	l)m*Z*m+Z+m,Z,dd
l-m.Z.ddl/m0Z0ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNdd
lOmPZPmQZQmRZRmSZSmTZTddlUmVZVmWZWmXZXddlYmZZZm[Z[m\Z\m]Z]m^Z^ddl_m`Z`ddlambZbmcZcmdZdmeZemfZfmgZgmhZhmiZiddl+mjZjmkZkmlZlmmZmddlnmoZompZpmqZqddlrmsZsmtZtddlumvZvmwZwmxZxmyZymzZzdZ{e�r;ddl|m}Z}ndZ}ej~dk�rLe�rLddl
mZGdd�dedd�Z�e!j�dddd�Gd d!�d!��Z�e�d"d#d$�Z�ee�e�d%<e�hd&��Z�ed'eQeW�Z�eeQe�ge�fZ�Gd(d)�d)�Z�Gd*d+�d+eeee�fee��Z�e�eQZ�e�eWZ�Gd,d-�d-�Z�ej~dk�r�e�r�e+j�ddd.�d/e�d0ezd1ekd2ee[d3eej�d4ee�d5e�fd6d7�Z�dSe+j�ddd.�d/e�d0ezd1ekd2ee[d3eej�d4ed5e�fd8d7�Z�dS)9zHTTP Client for asyncio.�N)�suppress)�
TracebackType)�
TYPE_CHECKING�Any�	Awaitable�Callable�	Coroutine�Final�	FrozenSet�	Generator�Generic�Iterable�List�Mapping�Optional�Set�Tuple�Type�	TypedDict�TypeVar�Union)�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)�
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�EMPTY_BODY_METHODS�	BasicAuth�
TimeoutHandle�get_env_proxy_for_url�sentinel�strip_auth_from_url)�WS_KEY�HttpVersion�WebSocketReader�WebSocketWriter)�WSHandshakeError�
ws_ext_gen�ws_ext_parse)�Trace�TraceConfig)�JSONEncoder�LooseCookies�LooseHeaders�Query�StrOrURL)*r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r6r4r3r5r7r8r9r:r;r<r>r?r@rArBrHrJrKrIrE�
ClientSession�
ClientTimeoutrF�requestr=)�
SSLContext���)�Unpackc@s~eZdZUeed<eed<eed<eedfed<eedfed<ee	e
dfed<eedfed<eed	<e
ed
<ee
edfed<eedfed<eed
<edeeegedffed<eed<eedfed<eedfed<ded<eeeefed<ee
dfed<eedfed<eee
efdfed<ee
dfed<eedfed<ee
dfed<ee
dfed<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%Union[ClientTimeout, _SENTINEL, None]�timeout�ssl�server_hostname�
proxy_headers�trace_request_ctx�read_bufsize�auto_decompress�
max_line_size�max_field_size)�__name__�
__module__�__qualname__ra�__annotations__rrr_r`r
�strrP�bool�intrr@rrbrfrAr�r�r��9/usr/local/lib/python3.10/dist-packages/aiohttp/client.pyrk�s4
 rkF��totalT)�auto_attribs�frozen�slotsc@sZeZdZUdZeeed<dZeeed<dZeeed<dZ	eeed<dZ
eed<dS)rdNr��connect�	sock_read�sock_connect��ceil_threshold)r�r�r�r�r�floatr�r�r�r�r�r�r�r�r�rd�s
rdi,�)r�r��DEFAULT_TIMEOUT>�GET�PUT�HEAD�TRACE�DELETE�OPTIONS�_RetTypec?s�eZdZUdZegd��ZdZeej	e
d<dZeee
d<	d�dddddddde
jeeeejdddededddddd	d	d
d�d�d
eedeedeejdeedeedeedeedeeedeededeedeedeededee de!de"e!e#ege$dffde"e%e&fdee%d e"e'e(fd!e!d"e!d#e!d$ee)e*d%e+d&e+d'e+d(e,d)df:d*d+�Z-d,edd)dfd-d.�Z.e/r�d/ed0e0d)df�fd1d2�Z1e2fd3e0d)dfd4d5�Z3e4j5d6kr�e6r�d7ed8ed9e7e8d)d:fd;d<�Z9n
d7ed8ed9e0d)d:fd=d<�Z9d>ed)e:fd?d@�Z;dddddddddAdddddddeddddddddddddB�d7ed>edCe<dDe0dEe0deedeedeeedeedFe!dGe+dHe"ee!dfdIee!dJe!de"de!e#ege$dffdKe!deedeed e"e(e&fdLee!dMee=dNee>dOe"e>e!e?fdPeedQeedRee@ee0fd%ee+d!ee!d&ee+d'ee+d)ef>dSdT�ZAeBjCdUedddddddddddddddddVdWdX�d8ed7edYeed e"eDe&fdZee%d[e!d\e!d]ee%deed^eedCe<deedeedeedOe"e>e!e?fdLee!dMee=dNee>dPeedQeedHe+d_e+d)d`f.dadb�ZEeBjCdUedddddddddddddddddVdWdX�d8ed7edYeed e"eDe&fdZee%d[e!d\e!d]ee%deed^eedCe<deedeedeedOe"e>e!e?fdLee!dMee=dNee>dPeedQeedHe+d_e+d)ef.dcdd�ZFdeed)defdfdg�ZGe4j5d6k�r�e6�r�d8ed9e7e8d)d:fdhdi�ZHd8ed9e7e8d)d:fdjdk�ZId8ed9e7e8d)d:fdldm�ZJd8ed9e7e8d)d:fdndo�ZKd8ed9e7e8d)d:fdpdq�ZLd8ed9e7e8d)d:fdrds�ZMd8ed9e7e8d)d:fdtdu�ZNnkddv�d8edFe!d9e0d)d:fdwdi�ZHddv�d8edFe!d9e0d)d:fdxdk�ZIddv�d8edFe!d9e0d)d:fdydm�ZJddz�d8edDe0d9e0d)d:fd{do�ZKddz�d8edDe0d9e0d)d:fd|dq�ZLddz�d8edDe0d9e0d)d:fd}ds�ZMd8ed9e0d)d:fd~du�ZNd�dd��ZOePd)e!fd�d���ZQePd)eefd�d���ZRePd)e fd�d���ZSePd)eTe+e+ffd�d���ZUePd)e!fd�d���ZVeVjWd0e!d)dfd�d���ZVePd)ejfd�d���ZXePd)e(fd�d���ZYePd�d�d���ZZePd)e[e\fd�d���Z]ePd)eefd�d���Z^ePd)efd�d���Z_ePd)e!fd�d���Z`ePd)e"e!e#ege$dfffd�d���ZaePd)e!fd�d���ZbePd)e!fd�d���ZcePd)e)e*fd�d���Zdd�d�d��Zed�d�d��Zfd�eeegd�eegd�eehd)dfd�d��Zid�d�d��Zjd�eeegd�eegd�eehd)dfd�d��Zk�ZlS)�rcz/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�_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�_resolve_charset�_default_proxy�_default_proxy_auth�_retry_connection�requote_redirect_urlNr�r�TF�i�cCsdS)Nzutf-8r�)�r�br�r�r��<lambda>,szClientSession.<lambda>)�	connector�looprorprzr{rqrr�json_serialize�
request_class�response_class�ws_response_class�version�
cookie_jar�connector_ownerrx�read_timeout�conn_timeoutr|r��	trust_envr��
trace_configsr�r�r��fallback_charset_resolver�base_urlr�r�rorprzr{rqrrr�r�r�r�r�r�r�rxr�r�r|r�r�r�r�r�r�r�r��returncCs�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
��|dur�t|d�}|j|ur�td��||_|��r�t�t�d��|_|dur�t|d�}||_ |r�|j �!|�||_||_"|	|_#||_$|
|_%||_&||_'||_(||_)||_*||_+||_,|�r	t-|�}nt-�}||_.|du�rt/dd�|D��|_0nt/�|_0||_1||_2|
|_3|�p0g|_4|j4D]}|�5��q5||_6||_7||_8d|_9dS)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.connect�r�z0Session and connector has to use same event looprcss�|]}t|�VqdS�N�r��.0�ir�r�r��	<genexpr>�s�z)ClientSession.__init__.<locals>.<genexpr>T):r�r��asyncio�get_running_loop�
isinstancerr��originr��absolute�path�endswith�
ValueErrorrSr�r��warnings�warn�DeprecationWarning�attr�evolverd�typerJ�RuntimeError�	get_debug�	traceback�
extract_stack�sys�	_getframer�rLr��update_cookiesr�r�r�r�r�r�r�r�r�r�r�rr��	frozensetr�r�r�r�r��freezer�r�r�r�)�selfr�r�r�rorprzr{rqrrr�r�r�r�r�r�r�rxr�r�r|r�r�r�r�r�r�r�r��real_headers�trace_configr�r�r��__init__s�$
���
���






zClientSession.__init__�clscCstjd�|j�tdd�dS)Nz6Inheritance class {} from ClientSession is discouragedr�r�)r�r��formatr�r�)r�r�r�r��__init_subclass__�s
�zClientSession.__init_subclass__�name�valcs2||jvrtjd�|�tdd�t��||�dS)Nz8Setting custom ClientSession.{} attribute is discouragedr�r�)�ATTRSr�r�r�r��super�__setattr__)r�r�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)�client_session�message�source_traceback)�closedr��ResourceWarningr�r��call_exception_handler)r�r�kwargs�contextr�r�r��__del__�s
��


�zClientSession.__del__rg�method�urlr�_RequestContextManagercK�dSr�r��r�rrrr�r�r�re�szClientSession.requestcKst|j||fi|���S)zPerform HTTP request.)r�_requestrr�r�r�re�s�
str_or_urlcCs,t|�}|jdur|S|jrJ�|j�|�Sr�)rr�r��join)r�rrr�r�r��
_build_url�s


zClientSession._build_url�
)rlrmrnrorprqrrrsrtrurvrwrxryrzr{r|�
verify_ssl�fingerprint�ssl_contextr}r~rr�r�r�r�r�rlrmrnrsrtrurvrwryrrrr}r~rr�c:�s���jrtd��t||||�}|dur|durtd��|dur'tj|�jd�}t|
t�s6|
dur6t	�
dt�d}g} �j}!|p@i}��
|�}z��|�}"Wnty^}#zt|�|#�d}#~#ww�jdusfJ�|"j�jjvrqt|"��|dur�dd�|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|%jd	�}&|&� �}'|dur�j!}|dur�j"}|dur�j#}|dur��j$}��fd
d��j%D�}(|(D]})|)�&||"�'|�|�IdH�q|&�(�}*�z|*����j)�o)|t*v}+	t+|"�\}"},|"j,�s@|�r:t-nt}-|-|"��| �sM|	�rM|,�rMtd
��|	du�sZ| �r\|,du�r\|,}	|	du�rt�j.�rt�j/�rq�j0|"�1�k�rt�j.}	|du�r�|	du�r�t2j3|v�r�td���j4�5|"�}.|du�r�t6�j4j7d�}/|/�8|�|/�5|"�}0|0�r�|.�9|0�|du�r�t|�}n�j:�r�t;t<��t=|"�\}}Wd�n	1�s�wY�j>||"fid|�d|�d|$�d|�d|.�d|	�d|!�d|�d|
�d|�d�j�d�j?�d|�d|�d|*�d��d |du�r|nd�d!|�d"|�d#|(�d$�j@��}1z�jjA|1|(|%d%�IdH}2WntBjC�yJ}3ztDd&|"���|3�d}3~3ww|2jEdu�sSJ�|2jFdu�s[J�|2jFjG|*|tHv|||%jI|�jjJ||d'�	z2z"|1�K|2�IdH}4z
|4� |2�IdHWn
tL�y�|4�M��wWn
tL�y�|2�M��wWn;tNtOf�y�|+�r�d(}+Y�q*�tP�y��tQ�y�}3z|3jRdu�r�t|3tBjC��r҂tN|3jS�|3�d}3~3ww|4jT}�r�j4�8||4jU�|4jVd)v�r�|
�r�|(D]})|)�W||"�'|�||4�IdH�q�|d*7}| �X|4�|�r'||k�r'|4�M�tY| djZt[| ���|4jVd+k�r4|4j\t2j]k�sA|4jVd,v�rS|4j\t2j^k�rSt2j_}d}|�`t2ja��rS|�bt2ja�|4jc�`t2jd��pa|4jc�`t2je�}5|5du�rhno|4�f�z
t|5�jgd-�}6Wnt�y�}#zt-|5d.�|#�d}#~#ww|6j}7|7thv�r�|4�M�ti|5��|7�s�|"�j|6�}6z|6�1�}8Wnt�y�}9zt-|6d/�|9�d}9~9ww|"�1�|8k�r�d}	|�bt2j3d�|6}"i}|4�f��q*	Wd�n	1�s�wY|du�r�jk}|du�r�ntl|��r||4�IdHn|�r	|4�m�|'du�r |4jndu�r|4jn�o|'jp�n|'�p�t[| �|4_q|(D]})|)�r||"�'|�||4�IdH�q'|4WStL�yj}#z"|&�M�|'�rQ|'�p�d}'|(D]})|)�s||"�'|�||#�IdH�qS�d}#~#ww)0NzSession is closedz9data and json parameters can not be used at the same time)�dumpszChunk size is deprecated #1615rcSsh|]}t|��qSr�r�r�r�r�r��	<setcomp>!s�z)ClientSession._request.<locals>.<setcomp>r�)r�cs g|]}t�||j�d���qS))r�)r\�trace_config_ctx)r�r��r�r�r�r��
<listcomp>Qs�
��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)�quote_cookierlrprqrmrorrr�rurvrwr�r�rzr{�timer�sessionr}r~r�tracesr�)r#r|zConnection timeout to host )	r!�skip_payloadryr�r�r��timeout_ceil_thresholdr�r�F)�-�.�/i3i4rr()r&r')�encodedzHServer attempted redirecting to a location that does not look like a URLzInvalid redirect URL origin)trr�rCr�r�JsonPayloadr�r�r�r�r�r�r��_prepare_headersrr2r��scheme�allowed_protocol_schema_setr4r�r�r�rr1rSr�rdrQr�r�r��startr�r�r�r�r��send_request_start�update_queryr!r��IDEMPOTENT_METHODSrT�raw_hostr3r�r�r�r�r�
AUTHORIZATIONr��filter_cookiesrLr r��loadr�r�LookupErrorrRr�r�r�r�r��TimeoutErrorr/�	transport�protocol�set_response_paramsrOr��_timeout_ceil_threshold�send�
BaseException�closer*r8r(�OSError�errno�args�_cookiesr�status�send_request_redirect�appendr<�request_info�tupler�	METH_HEAD�	METH_POST�METH_GET�get�CONTENT_LENGTH�poprp�LOCATION�URI�releaser�rGr5rr��callablerx�
connection�add_callback�cancel�_history�send_request_end�send_request_exception):r�rrrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rrrr}r~rr�r�r�r�r��	redirects�historyr�r�e�skip_headers�real_timeout�tm�handler#�tracer!�retry_persistent_connection�
auth_from_url�err_exc_cls�all_cookies�tmp_cookie_jar�req_cookies�req�conn�exc�resp�r_url�parsed_redirect_urlr,�redirect_origin�origin_val_errr�rr�r�sv�)�

����

��
��	����
��

�
�





��������	�
���
�������������������������
��

�����

�������
\



����zClientSession._requestr�ri@)r�	protocolsr|�receive_timeout�	autoclose�autoping�	heartbeatrrr�rlrprzr{r}rrrr~rru�max_msg_sizernrorprqrrr�rs�_WSRequestContextManagercCs�t|j|fid|�d|�d|�d|�d|�d|�d|�d|	�d	|
�d
|�d|�d|
�d
|�d|�d|�d|�d|�d|�d|�d|�d|���S)zInitiate websocket connection.rrnr|rorprqrrrrr�rlrprzr{r}rrrr~rrurs)rt�_ws_connect)r�rrrnr|rorprqrrrrr�rlrprzr{r}rrrr~rrursr�r�r��
ws_connect`s^��������	�
���
�����������zClientSession.ws_connectc,
�s��|turt|t�r
|}ntjdtdd�t|d�}nt}|dur0tjdtdd�tj||d�}|dur8t	�}nt	|�}t
jdt
jdt
j
d	i}|��D]
\}}|�||�qKt�t�d
��}|��|t
j<|rod�|�|t
j<|
durx|
|t
j<|r�t|d�}||t
j<|dur�tjd
tdd�d}t||||�}|j||||d|	|
||||d�IdH}�z!|jdkr�t|j|j d|j|j!d��|j!�"t
jd��#�dkr�t|j|j d|j|j!d��|j!�"t
jd��#�dkr�t|j|j d|j|j!d��|j!�"t
j$d�}t�t%�&|t'��(����} || k�rt|j|j d|j|j!d��d}!|�rCt
j|j!v�rCdd�|j!t
j�)d�D�}"|"D]}#|#|v�rA|#}!n�q6d}$|�r}|j!�"t
j�}%|%�ryzt*|%�\}}$Wn"t+�yx}&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|(d|j4d�}*|(�5t6|*|�|*�t7|(|)d||$d�}+Wn
t8�y�|�9��w|j:|*|+|!|||||j4|||$d�S) Nzeparameter 'timeout' of type 'float' is deprecated, please use 'timeout=ClientWSTimeout(ws_close=...)'r�r�)�ws_closezofloat parameter 'receive_timeout' is deprecated, please use parameter 'timeout=ClientWSTimeout(ws_receive=...)')�
ws_receive�	websocket�Upgrade�13��,)ruz+ssl=None is deprecated, please use ssl=TrueTF)	rlrpryrrrzr{r}r~r�ezInvalid response status)rrCrp�zInvalid upgrade header�upgradezInvalid connection headerzInvalid challenge responsecSsg|]}|���qSr�)�strip)r��protor�r�r�r&s��z-ClientSession._ws_connect.<locals>.<listcomp>rr�r�)�use_maskru�
notakeover)rrru�client_notakeover);rSr�rFr�r�r�rDr�r�rr�UPGRADE�
CONNECTION�SEC_WEBSOCKET_VERSION�items�
setdefault�base64�	b64encode�os�urandom�decode�SEC_WEBSOCKET_KEYr�SEC_WEBSOCKET_PROTOCOL�ORIGINrZ�SEC_WEBSOCKET_EXTENSIONSrCrerCr>rFrYrprK�lower�SEC_WEBSOCKET_ACCEPT�hashlib�sha1rU�digest�splitr[rYrArRr9rxr��maxr8r r��
set_parserrWrXr=r>r�),r�rrrnr|rorprqrrrrr�rlrprzr{r}rrrr~rrurs�
ws_timeoutr��default_headers�key�value�sec_key�extstrri�r_key�matchr9�resp_protocolsr�r��
compress_hdrsrhrg�
conn_protor8�reader�writerr�r�r�ru�s@�
���


��
���	
�	�
�����	�
���zClientSession._ws_connect�CIMultiDict[str]cCsht|j�}|r2t|ttf�st|�}t�}|��D]\}}||vr(|�||�q|||<|�|�q|S)z3Add default headers and transform it to CIMultiDict)rr�r�rr�setr��add)r�rp�result�added_namesr�r�r�r�r�r+os
zClientSession._prepare_headerscKrr�r��r�rrr�r�r�rK��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)rscK�t|jtj|fd|i|���S)zPerform HTTP GET request.rs)rrrrJ�r�rrsrr�r�r�rK������cKr�)zPerform HTTP OPTIONS request.rs)rrr�METH_OPTIONSr�r�r�r�r��r�cKr�)zPerform HTTP HEAD request.rs)rrrrHr�r�r�r�r��r�)rmcKr�)zPerform HTTP POST request.rm)rrrrI�r�rrmrr�r�r�r����cKr�)zPerform HTTP PUT request.rm)rrr�METH_PUTr�r�r�r�r��r�cKr�)zPerform HTTP PATCH request.rm)rrr�
METH_PATCHr�r�r�r�r��r�cKst|jtj|fi|���S)zPerform HTTP DELETE request.)rrr�METH_DELETEr�r�r�r�r��s�c�s6�|js|jdur|jr|j��IdHd|_dSdS)zMClose underlying connector.

        Release all acquired resources.
        N)rr�r�r>�r�r�r�r�r>�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�)r�r�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�rp&r�zClientSession.headerscCr�)z2Headers for which autogeneration should be skipped)r�r�r�r�r�rq+r�zClientSession.skip_auto_headerscCr�)z2An object that represents HTTP Basic Authorization)r�r�r�r�r�rr0r�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�rx?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��r�r�r�r�r�r�r��__exit__dszClientSession.__exit__c�s�|Sr�r�r�r�r�r��
__aenter__ms�zClientSession.__aenter__c�s�|��IdHdSr�)r>r�r�r�r��	__aexit__ps�zClientSession.__aexit__r��r�N)r�r�)r�rc)mr�r�r��__doc__r�r�r�rr��StackSummaryr�r�rHrnrr?r@rEr�
HttpVersion11rSrbr��AbstractEventLoopr_r`rPr
r�r^rrVr!r�rrrr�rM�objectrdrr]r��_CharsetResolverr�r�rNrrr�r
r��version_inforrjrkrerrra�bytesrfrArrrrJrFrvrur+rKr�r�r�r�r�r�r>�propertyrr�r�rr�r��setterr�r|rpr
rrqrrr�r�rxr�r�r�r�r�r=rr�r�r��
__classcell__r�r�rr�rc�s
�"��������	�

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

���
���������
��������� �!�"�#
�����
���	�
���
������������
�:����
���	�
���
������������
�Z��
���
���
���
���
���
����	����
�����
�����
�����
�	����
�	����
�

	�	


���
�
	
����rcc@s�eZdZdZdeddefddfdd�Zdd	d
�Zdededdfd
d�Z	ddd�Z
deedeffdd�Zdeedeffdd�Z
defdd�Zdeeedeedeeddfdd�ZdS)�_BaseRequestContextManager)�_coro�_resp�coro�asyncio.Future[Any]Nr�cCs
||_dSr�)r�)r�r�r�r�r�r�}�
z#_BaseRequestContextManager.__init__�argcCs|j�|�Sr�)r�r<)r�r�r�r�r�r<�sz_BaseRequestContextManager.sendrArcOs|jj|i|��Sr�)r��throw)r�rArr�r�r�r��sz _BaseRequestContextManager.throwcCs
|j��Sr�)r�r>r�r�r�r�r>�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�rh�tbc�s�|j�|||�IdHdSr�)r�r��r�r�rhr�r�r�r�r��s�z$_BaseRequestContextManager.__aexit__)r�Nr�r�r�)r�r�r��	__slots__rr�r�r<rr�r>rr�r�r�rrr=rr�r�r�r�r�r�ys$


����r�c@sheZdZdZdeddefdeddfdd�Zdefd	d
�Zde	e
ede	ed
e	eddfdd�Z
dS)�_SessionRequestContextManager�r�r��_sessionr�r�Nr"r�cCs||_d|_||_dSr�r�)r�r�r"r�r�r�r��s
z&_SessionRequestContextManager.__init__c�s:�z|jIdH|_W|jSty|j��IdH�wr�)r�r�r=r�r>r�r�r�r�r��s���z(_SessionRequestContextManager.__aenter__r�rhr�c�s.�|jdusJ�|j��|j��IdHdSr�)r�r>r�r�r�r�r�r��s�
z'_SessionRequestContextManager.__aexit__)r�r�r�r�rr@rcr�r�rrr=rr�r�r�r�r�r��s&��
�		
����r�)r�r�r�rrr�r�r�rr�cKrr�r�)rrr�r�r�rr�r�r�re�srecKsZd}|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��force_closeror|)r�ror�r|r�r�)rJrcrMrSr�r)rrr�r�r�rr�r"r�r�r�re�s -

�	�)�r�r�r�r�rnr�r�r�r��
contextlibr�typesr�typingrrrrrr	r
rrr
rrrrrrrrrr��	multidictrrrr�yarlrrrrr�_websocket.readerr �abcr!�client_exceptionsr"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>�
client_reqrepr?r@rArBrC�	client_wsrDrErFr�rGrHrIrJrK�	cookiejarrL�helpersrMrNrOrPrQrRrSrTrUrVrWrX�http_websocketrYrZr[�tracingr\r]�typedefsr^r_r`rarb�__all__r}rfr�rjrk�srdr�r�r�r1r�r�r�r�rcr�rrtr�r�r�rer�r�r�r��<module>s�T|(
3 $!����������������