Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/aiohttp/__pycache__/client_reqrep.cpython-38.pyc

U

'7`W	@s8ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
mZddlm
Z
mZmZddlmZmZddlmZmZmZmZmZmZmZmZmZmZmZddlZddl m!Z!m"Z"m#Z#m$Z$ddl%m&Z&dd	l'm(Z(m)Z)m*Z*m+Z+m,Z,dd
l-m.Z.ddl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5ddl6m7Z7dd
l)m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?ddl*m@Z@mAZAmBZBmCZCddlDmEZEddlFmGZGddlHmIZImJZJmKZKmLZLmMZMzddlNZNddlNmOZOWnePk
rdZNeQZOYnXzddlRZSWnePk
rddlSZSYnXdZTer2ddlUmVZVddlWmXZXddlYmZZZe[dZ\ej]ddddGdddZ^ej]ddddGdddZ_GdddZ`eNdk	reNjOeae`ebdfZcnebdZced eae`dfeeaed eeded eae`dfd!d"d#Zeej]dddd$Gd%d&d&Zfegegead'd(d)ZhGd*d+d+ZiGd,d-d-e;ZjdS).N)md5sha1sha256)CookieErrorMorselSimpleCookie)MappingProxyType
TracebackType)
TYPE_CHECKINGAnyDictIterableListMappingOptionalTupleTypeUnioncast)CIMultiDictCIMultiDictProxy	MultiDictMultiDictProxy)URL)hdrshelpershttp	multipartpayload)AbstractStreamWriter)ClientConnectionError
ClientOSErrorClientResponseErrorContentTypeError
InvalidURLServerFingerprintMismatch)FormData)PY_36BaseTimerContext	BasicAuthHeadersMixin	TimerNoopnoopreify
set_result)SERVER_SOFTWARE
HttpVersion10
HttpVersion11StreamWriter)
client_logger)StreamReader)DEFAULT_JSON_DECODERJSONDecoderLooseCookiesLooseHeaders
RawHeaders)
SSLContext)
ClientRequestClientResponseRequestInfoFingerprint)
ClientSession)
Connection)Tracez!^application/(?:[\w.+-]+?\+)?jsonT)auto_attribsfrozenslotsc@s.eZdZUeeed<ded<eeed<dS)ContentDispositiontypezMappingProxyType[str, str]
parametersfilenameN)__name__
__module____qualname__rstr__annotations__rOrOH/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/client_reqrep.pyrFWs
rFc@sJeZdZUeed<eed<ded<eZeed<ej	edddZ
d	S)
r>urlmethodCIMultiDictProxy[str]headersreal_urlreturncCs|jSN)rQselfrOrOrPreal_url_defaulteszRequestInfo.real_url_defaultN)rJrKrLrrNrMattrZibrUdefaultr[rOrOrOrPr>^s
r>c@sLeZdZeeedZeddddZe	edddZ
ejdd	d
dZ
dS)r?) N)fingerprintrWcCsJt|}|j|}|s"tdn|tks2|tkr:td||_||_dS)Nzfingerprint has invalid lengthz8md5 and sha1 are insecure and not supported. Use sha256.)lenHASHFUNC_BY_DIGESTLENget
ValueErrorrr	_hashfunc_fingerprint)rZraZ	digestlenZhashfuncrOrOrP__init__qs
zFingerprint.__init__rVcCs|jSrX)rgrYrOrOrPra}szFingerprint.fingerprint)	transportrWcCs`|dsdS|d}|jdd}||}||jkr\|d^}}}t|j|||dS)NZ
sslcontextZ
ssl_objectT)Zbinary_formZpeername)Zget_extra_infoZgetpeercertrfZdigestrgr&)rZriZsslobjZcertZgothostport_rOrOrPchecks


zFingerprint.check)rJrKrLrrrrcbytesrhpropertyraasyncioZ	TransportrmrOrOrOrPr?jsr?r;)ssl
verify_sslssl_contextrarWcCs|dk	r2|s2tjdtdd|dk	r.tdnd}|dk	r`tjdtdd|dk	r\tdn|}|dk	rtjdtdd|dk	rtdnt|}t|tstd||S)	Nz/verify_ssl is deprecated, use ssl=False instead
stacklevelzNverify_ssl, ssl_context, fingerprint and ssl parameters are mutually exclusiveFz2ssl_context is deprecated, use ssl=context insteadzCfingerprint is deprecated, use ssl=Fingerprint(fingerprint) insteadzFssl should be SSLContext, bool, Fingerprint or None, got {!r} instead.)	warningswarnDeprecationWarningrer?
isinstanceSSL_ALLOWED_TYPES	TypeErrorformat)rqrrrsrarOrOrP_merge_ssl_paramssP
r~)rCrErDc@sbeZdZUeed<eeed<eed<ee	dee
fed<eeed<eeed<eeed<dS)	
ConnectionKeyrjrkis_sslNrqproxy
proxy_authZproxy_headers_hash)
rJrKrLrMrNrintboolrr;r?rr*rOrOrOrPrs
r)response_content_typeexpected_content_typerWcCs|dkrt|dk	S||kS)Napplication/json)json_rematch)rrrOrOrP_is_expected_content_typesrc@seZdZejejejejhZej	ej
ejhZe
e
ejhZejdejdiZdZdZdZdZdZddedddejdddddddddddddeeeeeefeee ee!ee"ee#ej$eeee%e%ee&j'ee(deeee#ee)ede*e+e%e,dfeeee-d	d
ddZ.e%d
ddZ/e0e*dde%e,fd
ddZ1e0e2d
ddZ3e0ed
ddZ4e0ee5d
ddZ6e0e7d
ddZ8eddddZ9e*ej$efdddd Z:eedd!d"d#Z;e edd$d%d&Z<ee"dd'd(d)Z=e!dd*d+d,Z>dd
d-d.Z?ee#dd/d0d1Z@e!dd2d3d4ZAdKe%dd5d6d7ZBeeee#eedd8d9d:ZCe%d
d;d<ZDeEd=dd>d?d@ZFd=ddAdBdCZGdd
dDdEZHdd
dFdGZIeeeJddHdIdJZKdS)Lr<z*/*z
gzip, deflateNF)paramsrTskip_auto_headersdatacookiesauthversioncompresschunked	expect100loopresponse_classrrtimersessionrq
proxy_headerstracesr=r@rB)rRrQrrTrrrrrrrrrrrrrrrqrrcCs|
dkrt}
t|ts"t|t|ttdfs<t|td||_|rvt|j	}|
|}||j	|
|}||_|
d|_||_||_|
|_|
|_d|_|dkrt}n|}||_|dk	r|nt|_||_|
rttd|_| |	|!||"||#||$||%||&||'||||(||sh|j|j)krp|*|+||dkrg}||_,dS)Nr@r)-rpZget_event_looprzrAssertionErrorrGr_sessionrZqueryZ
with_queryextendoriginal_url
with_fragmentrQupperrRrrrZlengthr=rr,_timer_ssl	get_debug	traceback
extract_stacksys	_getframe_source_tracebackupdate_versionupdate_hostupdate_headersupdate_auto_headersupdate_cookiesupdate_content_encodingupdate_authupdate_proxyupdate_body_from_dataGET_METHODSupdate_transfer_encodingupdate_expect_continue_traces)rZrRrQrrTrrrrrrrrrrrrrrrqrrqZurl2Zreal_response_classrOrOrPrhsP













zClientRequest.__init__rVcCs|jjdkS)N)ZhttpsZwss)rQschemerYrOrOrPrAszClientRequest.is_sslr;cCs|jSrX)rrYrOrOrPrqDszClientRequest.sslcCsL|j}|r&ttdd|D}nd}t|j|j||j|j	|j
|S)Ncss|]\}}||fVqdSrXrO).0kvrOrOrP	<genexpr>Msz/ClientRequest.connection_key.<locals>.<genexpr>)rhashtupleitemsrrjrkrrqrr)rZrhrOrOrPconnection_keyHszClientRequest.connection_keycCs|jj}|dk	st|SrX)rQraw_hostr)rZZretrOrOrPrj[szClientRequest.hostcCs|jjSrX)rQrkrYrOrOrPrkaszClientRequest.portcCst|j}t|j|j||jSrX)rrTr>rQrRr)rZrTrOrOrPrequest_infoes
zClientRequest.request_info)rQrWcCs6|jst||j|j}}|r2t||p,d|_dS)z8Update destination host, port and connection type (ssl).N)rr%userpasswordrr*r)rZrQZusernamerrOrOrPrjs
zClientRequest.update_host)rrWcCspt|trfdd|ddD}z tt|dt|d}Wn$tk
rdtd|dYnX||_dS)zdConvert request version to two elements tuple.

        parser HTTP version '1.1' => (1, 1)
        cSsg|]}|qSrO)strip)rpartrOrOrP
<listcomp>{sz0ClientRequest.update_version.<locals>.<listcomp>.rrz#Can not parse http version number: N)rzrMsplitrHttpVersionrrer)rZrrrOrOrPrus
 zClientRequest.update_version)rTrWcCst|_tt|jj}t|r,d|d}|jjdk	rV|j	sV|dt|jj7}||jt
j<|rt|t
ttfr~|}|D].\}}|dkr||j|<q|j||qdS)zUpdate request headers.[]N:rj)rrTrrMrQrris_ipv6_addressrkZis_default_portrZHOSTrzdictrrrloweradd)rZrTZnetlockeyvaluerOrOrPrs
zClientRequest.update_headers)rrWcCsrtddt|D|_|j}||j|jD]\}}||kr8|j||q8t	j
|krnt|jt	j
<dS)Ncss|]}|dfVqdSrXrO)rhdrrOrOrPrsz4ClientRequest.update_auto_headers.<locals>.<genexpr>)rsortedrrTcopyrDEFAULT_HEADERSrrrZ
USER_AGENTr0)rZrZused_headersrvalrOrOrPrs


z!ClientRequest.update_auto_headers)rrWcCs|sdSt}tj|jkr:||jtjd|jtj=t|trN|}n|}|D]H\}}t|t	r||j
t	}||j
|j|j
|||<qV|||<qV|jddd|jtj<dS)zUpdate request cookies header.Nr;)headersep)rrZCOOKIErTloadrdrzrrrrsetrZcoded_valueoutputr)rZrcZiter_cookiesnamerZmrsl_valrOrOrPrs 





zClientRequest.update_cookies)rrWcCs`|sdS|jtjd}|r0|jr\tdn,|jr\t|jtsHd|_|j|jtj<d|_	dS)zSet request content encoding.Nrz9compress can not be set if Content-Encoding header is setZdeflateT)
rTrdrZCONTENT_ENCODINGrrrerzrMr)rZrencrOrOrPrsz%ClientRequest.update_content_encodingcCsz|jtjd}d|kr,|jrvtdnJ|jrTtj|jkrFtdd|jtj<n"tj|jkrvtt	|j
|jtj<dS)z!Analyze transfer-encoding header.rrzDchunked can not be set if "Transfer-Encoding: chunked" header is setz6chunked can not be set if Content-Length header is setN)rTrdrZTRANSFER_ENCODINGrrreCONTENT_LENGTHrMrbbody)rZZterOrOrPrsz&ClientRequest.update_transfer_encoding)rrWcCsB|dkr|j}|dkrdSt|tjs.td||jtj<dS)zSet basic auth.Nz%BasicAuth() tuple is required instead)	rrzrr*r|encoderTrZ
AUTHORIZATION)rZrrOrOrPrszClientRequest.update_auth)rrWcCs|sdSt|tr|}ztjj|dd}Wn tjk
rLt|}YnX||_|jstj	|j
kr|j}|dkr|d|_ntj	|j
krt||j
tj	<|j
st
|j
D]*\}}||j
krq||jkrq||j
|<qdS)N)ZdispositionT)rzr'rZPAYLOAD_REGISTRYrdLookupErrorrrrrrTsizerMrrr)rZrrrrrOrOrPrs.



z#ClientRequest.update_body_from_data)expectrWcCsB|rd|jtj<n|jtjddkr.d}|r>|j|_dS)Nz100-continuerT)rTrZEXPECTrdrrZ
create_future	_continue)rZrrOrOrPrsz$ClientRequest.update_expect_continue)rrrrWcCsD|r|jdkstd|r.t|tjs.td||_||_||_dS)NrzOnly http proxies are supportedz,proxy_auth must be None or BasicAuth() tuple)rrerzrr*rrr)rZrrrrOrOrPr szClientRequest.update_proxycCsN|jtkrdS|jtkr4|jtjdkr.dSdSn|jtjdkrJdSdS)NF
keep-aliveTclose)rr1rTrdr
CONNECTIONrYrOrOrP
keep_alive.s

zClientRequest.keep_aliverA)writerconnrWc
sb|jdk	r$|IdH|jIdH|j}|dk	s6tzzjt|jtjr^|j	|IdHn6t|jt
tfrx|jf|_|jD]}|	|IdHq~|IdHWnt
k
r}z,t|jd|j}||_||_||W5d}~XYndtjk
r$}z|js||W5d}~XYn.tk
rP}z||W5d}~XYnXW5d|_XdS)z-Support coroutines that yields bytes objects.Nz!Can not write request body for %s)rZdrainprotocolr_writerrzrrZPayloadwritern	bytearrayZ	write_eofOSErrorr"errnorQ__context__	__cause__
set_exceptionrpZCancelledErrorclosed	Exception)rZrrrchunkexcnew_excrOrOrPwrite_bytes<s6


 zClientRequest.write_bytes)rrWc	s|jtjkrJ|jj}|dk	s tt|r6d|d}|d|jj}n:|j	rd|
sdt|j}n |jj}|jj
r|d|jj
7}|j}|dk	stt||jt|j|j|jd}|jr||j|jdk	r||j|jkrtj|jkrtj|jkrd|jtj<|jtj}|sP|r@|jt krPd}n|jt!krPd}|dk	rf||jtj<d	"|j||j}|#||jIdH|j$|%|||_&|j'}|dk	st||j|j(|j&|j)|j*|j+|j,|j|j-d
	|_.|j.S)Nrrr?)Z
on_chunk_sentzapplication/octet-streamrrz{0} {1} HTTP/{2[0]}.{2[1]})rcontinue100rrrrr)/rRrZMETH_CONNECTrQrrrrrkrrrMZraw_pathZraw_query_stringrr3r	functoolspartial_on_chunk_request_sentrZenable_compressionrZenable_chunkingPOST_METHODSCONTENT_TYPErrTrdrrrr1r2r}Z
write_headersZcreate_taskrrrrrrrrrresponse)	rZrZconnect_hostpathrr
connectionZstatus_linerrOrOrPsendas~






zClientRequest.sendcs(|jdk	r$z|jIdHW5d|_XdSrX)rrYrOrOrPrs
zClientRequest.closecCs(|jdk	r$|js|jd|_dSrX)rr	is_closedcancelrYrOrOrP	terminates


zClientRequest.terminate)rRrQrrWcs$|jD]}||||IdHqdSrX)rZsend_request_chunk_sent)rZrRrQrtracerOrOrPrs
z$ClientRequest._on_chunk_request_sent)F)LrJrKrLrZMETH_GETZ	METH_HEADZMETH_OPTIONSZ
METH_TRACErZ
METH_PATCHZ	METH_POSTZMETH_PUTrunionZMETH_DELETEZALL_METHODSZACCEPTZACCEPT_ENCODINGrrrrrr	frozensetrr2rMrrrr9r
rr8r*rrrpAbstractEventLooprr)rr;r?rrhrrorqrrrjrrkr>rrrrrrrrrrrrrr rr	rrrnrrOrOrOrPr<s

J"%Nr<c@steZdZdZdZdZdZdZdZdZ	dZ
dZdZe
ededeeedejddd
d	d
Zeeddd
ZeedddZeedddZee
dddZeddddZeedddZeedddZeeedddZ e!fe"ddddZ#e
dd d!Z$e%ed"dd#d$Z&ee'd%dd&d'Z(ed(dd)d*Z)d"dd+d,d-Z*ddd.d/Z+e%e,dd0d1Z-ddd2d3Z.e"dd4d5Z/e%e,dd6d7Z0ddd8d9Z1ddd:d;Z2ddd<d=Z3ddd>d?Z4e5dd@dAZ6e
ddBdCZ7dRee
e
e
dEdFdGZ8de9dHdIee
e:ee
e"dJdKdLZ;dddMdNZ<ee=e>ee>ee?ddOdPdQZ@dS)Sr=NTFzasyncio.Task[None]zasyncio.Future[bool]rBr@)
rRrQrrrrrrrrWc
Cst|tst||_t|_||_|d|_d|_	||_
||_d|_d|_
||_|dk	r^|nt|_i|_||_||_|	|_|rttd|_dS)NTrOr)rzrrrRrr	_real_urlr_url_bodyrr_closed_history
_request_infor,r_cacher_looprrrrrrr)
rZrRrQrrrrrrrrOrOrPrhs$
zClientResponse.__init__rVcCs|jSrX)rrYrOrOrPrQszClientResponse.urlcCstjdtdd|jS)NzDeprecated, use .url #1654ru)rwrxryrrYrOrOrPurl_objszClientResponse.url_objcCs|jSrX)rrYrOrOrPrUszClientResponse.real_urlcCs|jjdk	st|jjSrX)rrjrrYrOrOrPrjszClientResponse.hostrScCs|jSrX)_headersrYrOrOrPrTszClientResponse.headerscCs|jSrX)_raw_headersrYrOrOrPraw_headersszClientResponse.raw_headerscCs|jSrX)rrYrOrOrPrszClientResponse.request_infocCsF|jtj}|dkrdSt|\}}t|}t|}t|||SrX)	rrdrZCONTENT_DISPOSITIONrZparse_content_dispositionrZcontent_disposition_filenamerF)rZrawZdisposition_typeZ
params_dctrrIrOrOrPcontent_dispositions
z"ClientResponse.content_disposition)	_warningsrWcCs|jr
dS|jdk	r~|j||jr~tr>d|i}ni}|jd|tf||dd}|j	rr|j	|d<|j
|dS)NsourcezUnclosed response zUnclosed response)Zclient_responsemessageZsource_traceback)r_connectionrelease_cleanup_writerrrr(rxResourceWarningrZcall_exception_handler)rZr kwargscontextrOrOrP__del__s





zClientResponse.__del__cCsbt}t|j}|jr.|jddd}n|j}td||j	||dt|j
|d|S)Nasciibackslashreplacez<ClientResponse({}) [{} {}]>)file)ioStringIOrMrQreasonrdecodeprintr}statusrTgetvalue)rZoutZascii_encodable_urlZascii_encodable_reasonrOrOrP__repr__1s(
zClientResponse.__repr__rAcCs|jSrX)r#rYrOrOrPrCszClientResponse.connection)r=.cCs|jS)z2A sequence of of responses, if redirects occurred.)rrYrOrOrPhistoryGszClientResponse.historyz/MultiDictProxy[MultiDictProxy[Union[str, URL]]]c
Csd|jdg}|s"ttSt}td|D]}td|}|dkrNq4|\}}|ddd}t}|D]:}	td|	tj	}|dkrqv|\}
}}}|
|
|qv|d|}
|
d	|jt
||
|
t|q4t|S)
Nz, linkz	,(?=\s*<)z
\s*<(.*)>(.*)rrz%^\s*(\S*)\s*=\s*(['\"]?)(.*?)(\2)\s*$ZrelrQ)joinrTgetallrrrerrgroupsMrrdrQr)
rZZ	links_strlinksrrrQZ
params_strrr7ZparamrrlrrOrOrPr=Ls*
zClientResponse.links)rrWcsXd|_|j|_||_|jz|jIdH\}}WnBtjk
rv}z"t|j	|j
|j|j|j
d|W5d}~XYnX|jdks|jdks|jdkrq|jdk	rt|jdd|_qW5QRX||j|j|_|j|_|j|_|j
|_|j|_||_|j
tjdD]H}z|j|Wn0tk
rN}zt d	|W5d}~XYnXq
|S)
zStart response processing.FNr2r"rTdeTrOz!Can not load response cookies: %s)!rrZ	_protocolr#rreadrZHttpProcessingErrorr#rr6coder"rTrr/Zon_eof
_response_eofrr2r/rrrcontentr9rZ
SET_COOKIErrrr4Zwarning)rZrr"rrrrOrOrPstartpsD
"zClientResponse.startcCsP|jr
dS|jdk	r>|jjdk	r.|jjjr.dS|jd|_d|_|dSNT)rr#rZupgradedr$r%rYrOrOrPrDs


zClientResponse._response_eofcCs|jSrX)rrYrOrOrPrszClientResponse.closedcCs\|js||jrdSd|_|jdks2|jr6dS|jdk	rP|jd|_|dSrG)	_released_notify_contentrrr
r#rr%rYrOrOrPrs

zClientResponse.closecCsH|js||jrtSd|_|jdk	r:|jd|_|tSrG)rHrIrr-r#r$r%rYrOrOrPr$s

zClientResponse.releasecCs(z|Wntk
r"YdSXdS)zReturns ``True`` if ``status`` is less than ``400``, ``False`` if not.

        This is **not** a check for ``200 OK`` but a check that the response
        status is under 400.
        FT)raise_for_statusr#rYrOrOrPoks
zClientResponse.okcCs@d|jkr<|jdk	st|t|j|j|j|j|jddS)Nir>)r2r/rr$r#rr6rTrYrOrOrPrJs
zClientResponse.raise_for_statuscCs$|jdk	r|jd|_d|_dSrX)rrrrYrOrOrPr%s

zClientResponse._cleanup_writercCs.|j}|r$|dkr$|tdd|_dS)NConnection closedT)rEZ	exceptionrr!rH)rZrErOrOrPrIszClientResponse._notify_contentcs0|jdk	r$z|jIdHW5d|_X|dSrX)rr$rYrOrOrPwait_for_closes

zClientResponse.wait_for_closecs||jdkrhz<|jIdH|_|jD]}||j|j|jIdHq$Wqvtk
rd|YqvXn|j	rvt
d|jS)zRead response payload.NrL)rrErBrZsend_response_chunk_receivedrRrQ
BaseExceptionrrHr!)rZr
rOrOrPrBs


zClientResponse.readcCs|jtjd}t|}|jd}|rVzt	|Wnt
k
rTd}YnX|s|jdkr~|jdksx|jdkr~d}n$|j
dkrtdnt|j
d}|sd}|S)	NrcharsetZapplicationjsonZrdapzutf-8z0Cannot guess the encoding of a not yet read bodyencoding)rTrdrrrrZparse_mimetyperHcodecslookuprrGZsubtyperRuntimeErrorchardetZdetect)rZctypeZmimetyperQrOrOrPget_encodings.



zClientResponse.get_encodingstrict)rQerrorsrWcs8|jdkr|IdH|dkr(|}|jj||dS)z!Read response payload and decode.N)rY)rrBrWr0)rZrQrYrOrOrPtext1s

zClientResponse.textr)rQloadscontent_type)rQr[r\rWcs|jdkr|IdH|rT|jtjd}t||sTt|j	|j
d||jd|j}|sfdS|dkrv|}||
|S)zRead and decodes JSON response.Nrz3Attempt to decode JSON with unexpected mimetype: %s)r"rT)rrBrTrdrrrrr$rr6rrWr0)rZrQr[r\rVstrippedrOrOrPrP;s"

	
zClientResponse.jsoncs|SrXrOrYrOrOrP
__aenter__[szClientResponse.__aenter__)exc_typeexc_valexc_tbrWcs|dSrX)r$)rZr_r`rarOrOrP	__aexit__^s	zClientResponse.__aexit__)NrX)ArJrKrLrr2r/rErrr#rrrHrMrrr)r>rrprrhr.rQrrUrjrTr:rrrFrrwrr)r5rorrr6r=rFrDrrrr$rKrJr%rIrMrnrBrWrZr6r7rPr^rrNr	rbrOrOrOrPr=s#	#2

 
r=)krprRrr-r:rrrwZhashlibrrrZhttp.cookiesrrrtypesrr	typingr
rrr
rrrrrrrr\Z	multidictrrrrZyarlrrrrrrrabcr Zclient_exceptionsr!r"r#r$r%r&Zformdatar'r(r)r*r+r,r-r.r/r0r1r2r3logr4Zstreamsr5Ztypedefsr6r7r8r9r:rqr;ImportErrorobjectZcchardetrU__all__Zclientr@Z	connectorrAtracingrBcompilersrFr>r?rrGr{rnr~rrMrr<r=rOrOrOrP<module>s4 (


"
5
h
Back to Directory File Manager