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: //home/arjun/projects/env/lib64/python3.10/site-packages/aiohttp/__pycache__/client.cpython-310.pyc
o

+weF��5@s�UdZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!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/ddl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCddlDmEZEmFZFmGZGmHZHmIZIdd
lJmKZKddlLmMZMmNZNmOZOmPZPddlQmRZRddlSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]ddl,m^Z^m_Z_m`Z`maZaddlbmcZcmdZdmeZemfZfddlgmhZhddlimjZjmkZkddllmmZmmnZnmoZompZpdZqe�r'ddlrmsZsndZse"jtdddd�Gdd�d��Zueudd�Zveeuewd<e d�ZxeeFeygezfZ{Gd d!�d!�Z|Gd"d#�d#eeeexfeex�Z}Gd$d%�d%e}eF�Z~Gd&d'�d'e}eK�ZGd(d)�d)�Z�dddddddd*ddd+dddde\de,j�dddd,d,d-�d.ezd/epd0eeezezfd1ed2ed3eeod4eeezd5eeVd6e�d7e�d8eezd9ee�d:e�d;ee�d<e�d=eepd>eeVd?e!eue�fd@eendAe_dBeeMdCee�dDeej�dEe�dFe�dGe�f4dHdI�Z�dS)JzHTTP Client for asyncio.�N)�suppress)�SimpleNamespace�
TracebackType)�
TYPE_CHECKING�Any�	Awaitable�Callable�	Coroutine�Final�	FrozenSet�	Generator�Generic�Iterable�List�Literal�Mapping�Optional�Set�Tuple�Type�TypeVar�Union)�CIMultiDict�	MultiDict�MultiDictProxy�istr)�URL�)�hdrs�http�payload)�AbstractCookieJar)�ClientConnectionError�ClientConnectorCertificateError�ClientConnectorError�ClientConnectorSSLError�ClientError�ClientHttpProxyError�
ClientOSError�ClientPayloadError�ClientProxyConnectionError�ClientResponseError�ClientSSLError�ContentTypeError�
InvalidURL�ServerConnectionError�ServerDisconnectedError�ServerFingerprintMismatch�ServerTimeoutError�TooManyRedirects�WSServerHandshakeError)�
ClientRequest�ClientResponse�Fingerprint�RequestInfo�_merge_ssl_params)�ClientWebSocketResponse)�
BaseConnector�NamedPipeConnector�TCPConnector�
UnixConnector)�	CookieJar)
�	_SENTINEL�DEBUG�	BasicAuth�
TimeoutHandle�ceil_timeout�get_env_proxy_for_url�get_running_loop�method_must_be_empty_body�sentinel�strip_auth_from_url)�WS_KEY�HttpVersion�WebSocketReader�WebSocketWriter)�WSHandshakeError�	WSMessage�
ws_ext_gen�ws_ext_parse)�FlowControlDataQueue)�Trace�TraceConfig)�JSONEncoder�LooseCookies�LooseHeaders�StrOrURL)r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r;r=r>r<r:�
ClientSession�
ClientTimeout�request)�
SSLContextT)�auto_attribs�frozen�slotsc@sZeZdZUdZeeed<dZeeed<dZeeed<dZ	eeed<dZ
eed<dS)rZN�total�connect�	sock_read�sock_connect��ceil_threshold)�__name__�
__module__�__qualname__r`r�float�__annotations__rarbrcre�rkrk�G/home/arjun/projects/env/lib/python3.10/site-packages/aiohttp/client.pyrZ�s
rZi,�r`�DEFAULT_TIMEOUT�_RetTypec?s�eZdZUdZegd��ZdZeej	e
d<dZeee
d<	d�dddddde
jeeeejdddededddddd	d	d
d�d�d
eedeedeejdeedeedeeedeededeedeedeededee de!de"e!e#ege$dffde"e%e&fdee%de"e'e(fde!d e!d!e!d"ee)e*d#e+d$e+d%e+d&e,d'df6d(d)�Z-d*edd'dfd+d,�Z.e/r�d-ed.e0d'df�fd/d0�Z1e2fd1e0d'dfd2d3�Z3d4ed5ed6e0d'd7fd8d9�Z4d:ed'e5fd;d<�Z6ddddddddd=dddddddedddddddddddd>�d4ed:ed?ee7eefd@e0dAe0deedeedeeedeedBe!dCe+dDeedEee!dFe!de"de!e#ege$dffdGe!dHeedIeede"e(e&fdJee!dKee8dLee9dMee"e9e:de;fdNeedOeedPee<d#ee+dee!d$ee+d%ee+d'ef>dQdR�Z=e>j?dSdTddddddddddddddddUdVdW�d5ed4edXeede%dYee%dZe!d[e!d\ee%deed]eed?ee7eefdeedHeedIeedMe"e9e:dde;fdJee!dKee8dLee9dOeedDe+d^e+d'd_f,d`da�Z@e>j?dSdTddddddddddddddddUdVdW�d5ed4edXeede%dYee%dZe!d[e!d\ee%deed]eed?ee7eefdeedHeedIeedMe"e9e:dde;fdJee!dKee8dLee9dOeedDe+d^e+d'ef,dbdc�ZAdeed'ddfdedf�ZBddg�d5edBe!d6e0d'd7fdhdi�ZCddg�d5edBe!d6e0d'd7fdjdk�ZDddg�d5edBe!d6e0d'd7fdldm�ZEddn�d5ed@e0d6e0d'd7fdodp�ZFddn�d5ed@e0d6e0d'd7fdqdr�ZGddn�d5ed@e0d6e0d'd7fdsdt�ZHd5ed6e0d'd7fdudv�ZId�dwdx�ZJeKd'e!fdydz��ZLeKd'eefd{d|��ZMeKd'e fd}d~��ZNeKd'eOe+e+ffdd���ZPeKd'e!fd�d���ZQeQjRd.e!d'dfd�d���ZQeKd'ejfd�d���ZSeKd'e(fd�d���ZTeKd�d�d���ZUeKd'eVeWfd�d���ZXeKd'eefd�d���ZYeKd'efd�d���ZZeKd'e!fd�d���Z[eKd'e"e!e#ege$dfffd�d���Z\eKd'e!fd�d���Z]eKd'e!fd�d���Z^eKd'e)e*fd�d���Z_d�d�d��Z`d�d�d��Zad�eeebd�eebd�eecd'dfd�d��Zdd�d�d��Zed�eeebd�eebd�eecd'dfd�d��Zf�ZgS)�rYz/First-class interface for making HTTP requests.)�	_base_url�_source_traceback�
_connector�requote_redirect_url�_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_charsetNrqrrTF��cCsdS)Nzutf-8rk)�r�brkrkrl�<lambda>�szClientSession.<lambda>)�	connector�loop�cookies�headers�skip_auto_headers�auth�json_serialize�
request_class�response_class�ws_response_class�version�
cookie_jar�connector_owner�raise_for_status�read_timeout�conn_timeout�timeout�auto_decompress�	trust_envrs�
trace_configs�read_bufsize�
max_line_size�max_field_size�fallback_charset_resolver�base_urlr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rsr�r�r�r�r��returncCs|dur|dur|j}t|�}|dust|t�r||_nt|�|_|j��|jks-Jd��|dur6t|d�}|j|ur?td��||_|��rOt	�
t�d��|_
|
durXt|d�}
|
|_|dure|j�|�||_||_||_||_||_|tur�t|_|tur�tjdtdd�tj|j|d�|_|dur�tj|j|d	�|_tjd
tdd�n||_|tur�td��|dur�td��||_||_ ||_!||_"||_#||_$||_%|r�t&|�}nt&�}||_'|dur�t(d
d�|D��|_)nt(�|_)|	|_*|
|_+||_,|p�g|_-|j-D]}|�.�q�||_/dS)Nz2Only absolute URLs without path part are supported�r�z0Session and connector has to use same event looprz8read_timeout is deprecated, use timeout argument instead���
stacklevelrm)raz8conn_timeout is deprecated, use timeout argument insteadzGread_timeout and timeout parameters conflict, please setup timeout.readzJconn_timeout and timeout parameters conflict, please setup timeout.connectcss�|]}t|�VqdS�N)r)�.0�irkrkrl�	<genexpr>@s�z)ClientSession.__init__.<locals>.<genexpr>)0rtrF�
isinstancerrp�originr=�RuntimeError�	get_debug�	traceback�
extract_stack�sys�	_getframerqr?ru�update_cookiesrrrvrwrxryrHrnr{�warnings�warn�DeprecationWarning�attr�evolve�
ValueErrorr|r}r~rzr�r�r�rr�	frozensetr�r�r�r�r��freezer�)�selfr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rsr�r�r�r�r��real_headers�trace_configrkrkrl�__init__�s� 
�


�����




zClientSession.__init__�clscCstjd�|j�tdd�dS)Nz6Inheritance class {} from ClientSession is discouragedr�r�)r�r��formatrfr�)r�rkrkrl�__init_subclass__Ns
�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__rkrlr�Xs
�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��ResourceWarningrqrt�call_exception_handler)r�r��kwargs�contextrkrkrl�__del__bs
��


�zClientSession.__del__�method�urlr��_RequestContextManagercKst|j||fi|���S)zPerform HTTP request.)r��_request)r�r�r�r�rkrkrlr[mszClientSession.request�
str_or_urlcCs:t|�}|jdur|S|��s|j�d�sJ�|j�|�S)N�/)rrp�is_absolute�path�
startswith�join)r�r�r�rkrkrl�
_build_urlss

zClientSession._build_url�
)�params�data�jsonr�r�r�r��allow_redirects�
max_redirects�compress�chunked�	expect100r��read_until_eof�proxy�
proxy_authr��
verify_ssl�fingerprint�ssl_context�ssl�server_hostname�
proxy_headers�trace_request_ctxr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�c7�s��jrtd��t||||�}|dur|durtd��|dur'tj|�jd�}t|
t�s6|
dur6t	�
dt�d}g} �j}!|p@i}��
|�}��
|�}z��|�}"Wntyc}#zt|�|#�d}#~#wwt�j�}$|dury|D]	}%|$�t|%��qo|dur�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 }��fdd	��j!D�})|)D]}*|*�"||"�#|�|�IdHq�|'�$�}+�z�|+��z	t%|"�\}"},|	�r|,�rtd��|	du�r|,}	|	du�r�j&}	|du�r/|	du�r/t'j(|v�r/td���j)�*|"�}-|du�rOt+�}.|.�,|�|.�*|"�}/|/�rO|-�-|/�|du�rYt|�}n�j.�rxt/t0��t1|"�\}}Wd�n	1�sswY�j2||"fid
|�d|�d|$�d|�d|-�d|	�d|!�d|�d|
�d|�d�j�d�j3�d|�d|�d|+�d��d|�d|�d|�d |)�d!�j4��}0z9t5|&j6|&jd�4IdH��j7du�s�J��j7j6|0|)|&d"�IdH}1Wd�IdHn1IdH�s�wYWnt8j9�y}2zt:d#�;|"��|2�d}2~2ww|1j<du�sJ�|1j=du�s"J�|1j=j>|+t?|�|||&j@|�j7jA||d$�	z2z"|0�B|1�IdH}3z
|3�|1�IdHWn
tC�yW|3�D��wWn
tC�yf|1�D��wWn)tE�yq�tF�y�}2z|2jGdu�r�t|2t8j9��r��tH|2jI�|2�d}2~2ww�j)�,|3jJ|3jK�|3jLd%v�rl|
�rl|)D]}*|*�M||"�#|�||3�IdH�q�|d&7}| �N|3�|�r�||k�r�|3�D�tO| djPtQ| ���|3jLd'k�r�|3jRt'jSk�s�|3jLd(v�r|3jRt'jTk�rt'jU}d}|�Vt'jW��r|�Xt'jW�|3jY�Vt'jZ��p|3jY�Vt'j[�}4|4du�rnU|3�\�z
t|4�j]d)�}5Wnt�y8}#zt|4�|#�d}#~#ww|5j^}6|6d*v�rI|3�D�td+��|6�sQ|"�_|5�}5|"�`�|5�`�k�rcd}	|�Xt'j(d�|5}"i}|3�\�q�	Wd�n	1�sxwY|du�r��ja}|du�r�ntb|��r�||3�IdHn|�r�|3�c�|(du�r�|3jddu�r�|3jd�e|(jf�n|(�f�tQ| �|3_g|)D]}*|*�h||"�#|�||3�IdH�q�|3WStC�y}#z"|'�D�|(�r�|(�f�d}(|)D]}*|*�i||"�#|�||#�IdH�q�d}#~#ww),NzSession is closedz9data and json parameters can not be used at the same time)�dumpszChunk size is deprecated #1615rrm)recs g|]}t�||j�d���qS))r�)rS�trace_config_ctx)r�r��r�r�rkrl�
<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 URLr�r�r�r�r�r�r�r�r�r�r�r�r�r��timer�sessionr�r�r��tracesr�)r�r�zConnection timeout to host {})	r��skip_payloadr�r�r�r��timeout_ceil_thresholdr�r�)�-�.�/i3i4rr)rr)�encoded)r�https�z"Can redirect only to http or https)jr�r�r9r�r �JsonPayloadryr��boolr�r�r�rx�_prepare_headersr�r.�setr��addrrrHr{rZrCrtr`re�startr�r}r�r�r��send_request_start�update_queryr�rIrwr�
AUTHORIZATIONru�filter_cookiesr?r��loadr~r�LookupErrorrEr�r�r�rDrarr�asyncio�TimeoutErrorr2r��	transport�protocol�set_response_paramsrGrb�_timeout_ceil_threshold�send�
BaseException�closer&�OSError�errnor(�argsr�r��status�send_request_redirect�appendr3�request_info�tupler��	METH_HEAD�	METH_POST�METH_GET�get�CONTENT_LENGTH�popr��LOCATION�URI�releaserz�schemer�r�r|�callabler��
connection�add_callback�cancel�_history�send_request_end�send_request_exception)7r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��	redirects�historyr�r��e�skip_headersr��real_timeout�tm�handler��tracer��
auth_from_url�all_cookies�tmp_cookie_jar�req_cookies�req�conn�exc�resp�r_url�
parsed_urlr-rkr�rlr�{s�)�


��

��
��	�



�






��������	�
���
�������������*��������������
��

�
��

���
6



����zClientSession._requestrkg$@ri@)r��	protocolsr��receive_timeout�	autoclose�autoping�	heartbeatr�r�r�r�r�r�r�r�r�r�r�r��max_msg_sizerGrHrIrJrKr�rL�_WSRequestContextManagercCs�t|j|fid|�d|�d|�d|�d|�d|�d|�d|	�d	|
�d
|�d|�d|
�d
|�d|�d|�d|�d|�d|�d|�d|���S)zInitiate websocket connection.r�rGr�rHrIrJrKr�r�r�r�r�r�r�r�r�r�r�r�rL)rM�_ws_connect)r�r�r�rGr�rHrIrJrKr�r�r�r�r�r�r�r�r�r�r�r�rLrkrkrl�
ws_connect�sZ��������	�
���
����������zClientSession.ws_connectc*�s,�|dur	t�}nt|�}tjdtjdtjdi}|��D]
\}}|�||�qt�t	�
d��}|��|tj<|r@d�
|�|tj<|
durI|
|tj<|rUt|d�}||tj<t||||�}|j||||d|	|
|||d�
IdH}�z|jd	kr�t|j|jd
|j|jd��|j�tjd���dkr�t|j|jd
|j|jd��|j�tjd���dkr�t|j|jd|j|jd��|j�tjd�}t�t�|t������}||kr�t|j|jd|j|jd��d}|�rtj|jv�rdd�|jtj� d�D�} | D]}!|!|v�r|!}nq�d}"|�r=|j�tj�}#|#�r9zt!|#�\}}"Wn"t"�y8}$zt|j|j|$j#d|j|jd�|$�d}$~$wwd}d}"|j$}%|%du�sGJ�|%j%}&|&du�sQJ�|%j&}'|'du�s[J�t'|&d|j(d�}(|&�)t*|(|�|(�t+|&|'d||"d�})Wn
t,�y�|�-��w|j.|(|)||||||j(||||"d�S)N�	websocket�Upgrade�13��,)r�F)r�r�r�r�r�r�r�r��ezInvalid response status)r�rr�rzInvalid upgrade header�upgradezInvalid connection headerzInvalid challenge responsecSsg|]}|���qSrk)�strip)r��protorkrkrlr�rs��z-ClientSession._ws_connect.<locals>.<listcomp>rr�r�T)�use_maskr��
notakeover)rHrKr��client_notakeover)/rr�UPGRADE�
CONNECTION�SEC_WEBSOCKET_VERSION�items�
setdefault�base64�	b64encode�os�urandom�decode�SEC_WEBSOCKET_KEYr��SEC_WEBSOCKET_PROTOCOL�ORIGINrP�SEC_WEBSOCKET_EXTENSIONSr9r[rr4r"r6r�r'�lower�SEC_WEBSOCKET_ACCEPT�hashlib�sha1rJ�digest�splitrQrNrr/rrrRrt�
set_parserrLrMrrr�)*r�r�r�rGr�rHrIrJrKr�r�r�r�r�r�r�r�r�r�r�r�rLr��default_headers�key�value�sec_key�extstrrD�r_key�matchr�resp_protocolsrXrZ�
compress_hdrsrCrB�
conn_protor�reader�writerrkrkrlrNs��


�
���	�	�
�����	�
���zClientSession._ws_connect�CIMultiDict[str]cCsht|j�}|r2t|ttf�st|�}t�}|��D]\}}||vr(|�||�q|||<|�|�q|S)z3Add default headers and transform it to CIMultiDict)rrr�rrr
r_r)r�r��result�added_namesrrrsrkrkrlr	�s
zClientSession._prepare_headers)r�cK�t|jtj|fd|i|���S)zPerform HTTP GET request.r�)r�r�rr&�r�r�r�r�rkrkrlr'���zClientSession.getcKr�)zPerform HTTP OPTIONS request.r�)r�r�r�METH_OPTIONSr�rkrkrl�options������zClientSession.optionscKr�)zPerform HTTP HEAD request.r�)r�r�rr$r�rkrkrl�head�r�zClientSession.head)r�cKr�)zPerform HTTP POST request.r�)r�r�rr%�r�r�r�r�rkrkrl�post�r�zClientSession.postcKr�)zPerform HTTP PUT request.r�)r�r�r�METH_PUTr�rkrkrl�put�r�zClientSession.putcKr�)zPerform HTTP PATCH request.r�)r�r�r�
METH_PATCHr�rkrkrl�patch�r�zClientSession.patchcKst|jtj|fi|���S)zPerform HTTP DELETE request.)r�r�r�METH_DELETE)r�r�r�rkrkrl�delete�szClientSession.deletec�s6�|js|jdur|jr|j��IdHd|_dSdS)zMClose underlying connector.

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

        A readonly property.
        N)rrr�r�rkrkrlr�szClientSession.closedcC�|jS)z(Connector instance used for the session.�rrr�rkrkrlr�
�zClientSession.connectorcCr�)zThe session cookies.)rur�rkrkrlr�r�zClientSession.cookie_jarcCr�)z"The session HTTP protocol version.)rxr�rkrkrlr�r�zClientSession.versioncCr�)�)Do URL requoting on redirection handling.)rzr�rkrkrlrsr�z"ClientSession.requote_redirect_urlcCstjdtdd�||_dS)r�z=session.requote_redirect_url modification is deprecated #2778r�r�N)r�r�r�rz)r�r�rkrkrlrs!s�
cCstjdtdd�|jS)zSession's loop.z"client.loop property is deprecatedr�r�)r�r�r�rtr�rkrkrlr�+s�zClientSession.loopcCr�)zTimeout for the session.)r{r�rkrkrlr�3r�zClientSession.timeoutcCr�)z*The default headers of the client session.)rr�rkrkrlr�8r�zClientSession.headerscCr�)z2Headers for which autogeneration should be skipped)r�r�rkrkrlr�=r�zClientSession.skip_auto_headerscCr�)z2An object that represents HTTP Basic Authorization)rwr�rkrkrlr�Br�zClientSession.authcCr�)zJson serializer callable)ryr�rkrkrlr�Gr�zClientSession.json_serializecCr�)z-Should connector be closed on session closing)rvr�rkrkrlr�Lr�zClientSession.connector_ownercCr�)zGShould `ClientResponse.raise_for_status()` be called for each response.)r|r�rkrkrlr�QszClientSession.raise_for_statuscCr�)z7Should the body response be automatically decompressed.)r}r�rkrkrlr�Xr�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�rkrkrlr�]szClientSession.trust_envcCr�)z7A list of TraceConfig instances used for client tracing)r�r�rkrkrlr�gr�zClientSession.trace_configscCs
d|_dS)zwDetach connector from session without closing the former.

        Session is switched to closed state anyway.
        Nr�r�rkrkrl�detachls
zClientSession.detachcCstd��)NzUse async with instead)�	TypeErrorr�rkrkrl�	__enter__s�zClientSession.__enter__�exc_type�exc_val�exc_tbcCsdSr�rk�r�r�r�r�rkrkrl�__exit__vszClientSession.__exit__c�s�|Sr�rkr�rkrkrl�
__aenter__s�zClientSession.__aenter__c�s�|��IdHdSr�)rr�rkrkrl�	__aexit__�s�zClientSession.__aexit__r��r�N)r�r})r�rY)hrfrgrh�__doc__r�r�rqrr��StackSummaryrjrrr;r�r�r5r6r:r�
HttpVersion11rHrXr�AbstractEventLooprVrWr�strrBrUrrKr!rrrrrir@�objectrZrrT�int�_CharsetResolverr�r�rArr�r�r�r[rr�r�bytesr\rr7rr�rr&rOrNr	r'r�r�r�r�r�r�r�propertyr�r�r�rr�rs�setterr�r�r�rrr�r�r�r�r�r�r�r�r�r�rrr�r�r��
__classcell__rkrkr�rlrY�s�
��������
�	�
���
������
��
����
�����
�
���
�
�������	�

���
���������
��������� �!�"�#
�Z�������	�
���
�����������
�8�������	�
���
�����������
�1����
�	����
�����
�����
�	����
�	����
�

	�	


���
�
	
����rYc@s�eZdZdZdeddefddfdd�Zdd	d
�Zdededdfd
d�Z	ddd�Z
deedeffdd�Zdeedeffdd�Z
defdd�ZdS)�_BaseRequestContextManager��_coro�_resp�coro�asyncio.Future[Any]Nr�cCs
||_dSr�)r�)r�r�rkrkrlr���
z#_BaseRequestContextManager.__init__�argcCs|j�|�Sr�)r�r)r�r�rkrkrlr�sz_BaseRequestContextManager.sendrr�cOs|jj|i|��Sr�)r��throw)r�rr�rkrkrlr��sz _BaseRequestContextManager.throwcCs
|j��Sr�)r�rr�rkrkrlr�r�z _BaseRequestContextManager.closecCs|j��}|Sr�)r��	__await__)r��retrkrkrlr��s
z$_BaseRequestContextManager.__await__cCs|��Sr�)r�r�rkrkrl�__iter__�r�z#_BaseRequestContextManager.__iter__c�s�|jIdH|_|jSr�r�r�rkrkrlr��s�z%_BaseRequestContextManager.__aenter__)r�Nr�r�r�)rfrgrh�	__slots__r	ror�rrr�rrr�r�r�rkrkrkrlr��s

r�c@�:eZdZdZdeeedeedeeddfdd�ZdS)	r�rkr�rC�tbr�Nc�s �|j��|j��IdHdSr�)r�r,�wait_for_close�r�r�rCr�rkrkrlr��s�
z _RequestContextManager.__aexit__�	rfrgrhr�rrrrr�rkrkrkrlr���
����r�c@r�)	rMrkr�rCr�r�Nc�s�|j��IdHdSr�)r�rr�rkrkrlr��s�z"_WSRequestContextManager.__aexit__r�rkrkrkrlrM�r�rMc@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�rkrkrlr��s
z&_SessionRequestContextManager.__init__c�s:�z|jIdH|_W|jSty|j��IdH�wr�)r�r�rr�rr�rkrkrlr��s���z(_SessionRequestContextManager.__aenter__r�rCr�c�s.�|jdusJ�|j��|j��IdHdSr�)r�rr�r�rkrkrlr��s�
z'_SessionRequestContextManager.__aexit__)rfrgrhr�r	r6rYr�r�rrrrr�rkrkrkrlr��s&��
�		
����r�r�Fr�)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�cCs�d}|durd}t|dd�}t||||||d�}t|j||fid|�d|�d|�d	|�d
|�d|�d|�d
|	�d|
�d|�d|�d|
�d|�d|�d|�d|�d|�d|��|�S)a�Constructs 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
      >>> resp = await aiohttp.request('GET', 'http://python.org/')
      >>> resp
      <ClientResponse(python.org/) [200]>
      >>> data = await resp.read()
    FNT)r��force_close)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)r=rYr�r�)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rkrkrlr[�sn@�	�������	�
���
���������r[)�r�rrarlr�rcr�r�r��
contextlibr�typesrr�typingrrrrr	r
rrr
rrrrrrrrrrr��	multidictrrrr�yarlrrrrr �abcr!�client_exceptionsr"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4�
client_reqrepr5r6r7r8r9�	client_wsr:r�r;r<r=r>�	cookiejarr?�helpersr@rArBrCrDrErFrGrHrIrJrKrLrM�http_websocketrNrOrPrQ�streamsrR�tracingrSrT�typedefsrUrVrWrX�__all__r�r\�srZrnrjror�r�r�rYr�r�rMr�r�rr�r�r�r[rkrkrkrl�<module>s�TT0( h%�������
�	�
���
������
���������