/usr/lib64/python3.9/http/__pycache__
NameSizeModeActions
client.cpython-39.opt-1.pyc354660644editdlrm
client.cpython-39.opt-2.pyc259380644editdlrm
client.cpython-39.pyc355390644editdlrm
cookiejar.cpython-39.opt-1.pyc533480644editdlrm
cookiejar.cpython-39.opt-2.pyc377110644editdlrm
cookiejar.cpython-39.pyc535050644editdlrm
cookies.cpython-39.opt-1.pyc150290644editdlrm
cookies.cpython-39.opt-2.pyc106320644editdlrm
cookies.cpython-39.pyc150610644editdlrm
server.cpython-39.opt-1.pyc350320644editdlrm
server.cpython-39.opt-2.pyc229860644editdlrm
server.cpython-39.pyc350320644editdlrm
__init__.cpython-39.opt-1.pyc64130644editdlrm
__init__.cpython-39.opt-2.pyc55540644editdlrm
__init__.cpython-39.pyc64130644editdlrm
Edit: /usr/lib64/python3.9/http/__pycache__/client.cpython-39.opt-2.pyc (25938B)
a ´iåÜã@sJddlZddlZddlZddlZddlZddlZddlZddlZ ddl m Z gd¢Z dZ dZdZdZdZd Zeƒ ejj¡d d „ejj ¡DƒZd Zd ZdZe d¡jZe d¡jZ e d¡Z!e d¡Z"hd£Z#d?dd„Z$Gdd„dej%j&ƒZ'dd„Z(e'fdd„Z)Gdd„dej*ƒZ+Gdd „d ƒZ,z ddl-Z-Wne.�yDYn0Gd!d"„d"e,ƒZ/e  0d"¡Gd#d$„d$e1ƒZ2Gd%d&„d&e2ƒZ3Gd'd(„d(e2ƒZ4Gd)d*„d*e2ƒZ5Gd+d,„d,e2ƒZ6Gd-d.„d.e2ƒZ7Gd/d0„d0e2ƒZ8Gd1d2„d2e2ƒZ9Gd3d4„d4e9ƒZ:Gd5d6„d6e9ƒZ;Gd7d8„d8e9ƒZGd=d>„d>e?e=ƒZ@e2ZAdS)@éN)Úurlsplit)Ú HTTPResponseÚHTTPConnectionÚ HTTPExceptionÚ NotConnectedÚUnknownProtocolÚUnknownTransferEncodingÚUnimplementedFileModeÚIncompleteReadÚ InvalidURLÚImproperConnectionStateÚCannotSendRequestÚCannotSendHeaderÚResponseNotReadyÚ BadStatusLineÚ LineTooLongÚRemoteDisconnectedÚerrorÚ responseséPi»ZUNKNOWNZIdlezRequest-startedz Request-sentcCsi|] }||j“qS©)Úphrase)Ú.0Úvrrú#/usr/lib64/python3.9/http/client.pyÚ kóriiéds[^:\s][^:\r\n]*s\n(?![ \t])|\r(?![ \t\n])z[- ]z[-]>ÚPUTZPOSTZPATCHÚdatac Csjz | d¡WStyd}z@t|j|j|j|jd| ¡||j|j…|fƒd‚WYd}~n d}~00dS)Núlatin-1z`%s (%.20r) is not valid Latin-1. Use %s.encode('utf-8') if you want to send it encoded in UTF-8.)ÚencodeÚUnicodeEncodeErrorÚencodingÚobjectÚstartÚendÚtitle)rÚnameÚerrrrrÚ_encode£s þûùr*c@seZdZdd„ZdS)Ú HTTPMessagecCsj| ¡d}t|ƒ}g}d}| ¡D]@}|d|… ¡|krBd}n|dd… ¡sVd}|r$| |¡q$|S)Nú:ré)ÚlowerÚlenÚkeysÚisspaceÚappend)Úselfr(ÚnZlstZhitÚlinerrrÚgetallmatchingheaders¹s   z!HTTPMessage.getallmatchingheadersN)Ú__name__Ú __module__Ú __qualname__r6rrrrr+²sr+cCsXg}| td¡}t|ƒtkr&tdƒ‚| |¡t|ƒtkrHtdtƒ‚|dvrqTq|S)Nr-ú header linezgot more than %d headers©ó ó r)ÚreadlineÚ_MAXLINEr/rr2Ú _MAXHEADERSr)ÚfpÚheadersr5rrrÚ _read_headersÐs    rCcCs,t|ƒ}d |¡ d¡}tjj|d� |¡S)Nrú iso-8859-1)Ú_class)rCÚjoinÚdecodeÚemailÚparserZParserZparsestr)rArErBZhstringrrrÚ parse_headersâs rJcseZdZd@dd„Zdd„Zdd„Zd d „Zd d „Z‡fd d„Z‡fdd„Z dd„Z dd„Z dAdd„Z dd„Z dd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„ZdBd(d)„ZdCd*d+„ZdD‡fd,d-„ Zd.d/„Zd0d1„Zd2d3„ZdEd4d5„Zd6d7„Zd8d9„Zd:d;„Zdd?„Z ‡Z!S)FrrNcCsR| d¡|_||_||_d|_|_t|_t|_t|_ t|_ t|_ t|_ t|_ dS)NÚrb)ÚmakefilerAÚ debuglevelÚ_methodrBÚmsgÚ_UNKNOWNÚversionÚstatusÚreasonÚchunkedÚ chunk_leftÚlengthÚ will_close)r3ÚsockrMÚmethodÚurlrrrÚ__init__ús  zHTTPResponse.__init__c Cst|j td¡dƒ}t|ƒtkr*tdƒ‚|jdkrBtdt|ƒƒ|sNt dƒ‚z|  dd¡\}}}WnBt y¦z|  dd¡\}}d}Wnt y d}Yn0Yn0|  d ¡sÂ|  ¡t|ƒ‚z$t|ƒ}|d ksÜ|d krät|ƒ‚Wnt �yt|ƒ‚Yn0|||fS) Nr-rDz status linerzreply:z-Remote end closed connection without responseéÚzHTTP/riç)ÚstrrAr>r?r/rrMÚprintÚreprrÚsplitÚ ValueErrorÚ startswithÚ _close_connrÚint)r3r5rQrRrSrrrÚ _read_statuss2      zHTTPResponse._read_statusc CsÌ|jdurdS| ¡\}}}|tkr&qHt|jƒ}|jdkrDtd|ƒ~q||_|_|  ¡|_ |dvrnd|_ n|  d¡r€d|_ nt |ƒ‚t|jƒ|_|_|jdkrÈ|j ¡D]\}}td|d|ƒq®|j d ¡}|rò| ¡d kròd |_d|_nd |_| ¡|_d|_|j d ¡}|�r`|j�s`zt|ƒ|_Wnt�yJd|_Yn0|jdk�rfd|_nd|_|tk�s |tk�s d|k�r’dk�s n|jdk�r¦d|_|j�sÈ|j�sÈ|jdu�rÈd |_dS)Nrzheaders:)zHTTP/1.0zHTTP/0.9é zHTTP/1.é úheader:r,útransfer-encodingrTTFúcontent-lengthréÈÚHEAD)rBrfZCONTINUErCrArMr_ÚcoderRÚstriprSrQrcrrJrOÚitemsÚgetr.rTrUÚ _check_closerWrVrerbZ NO_CONTENTZ NOT_MODIFIEDrN) r3rQrRrSZskipped_headersÚhdrÚvalZtr_encrVrrrÚbegin9sd             ÿ ÿ þÿþzHTTPResponse.begincCsv|j d¡}|jdkr.|r*d| ¡vr*dSdS|j d¡r>dS|rRd| ¡vrRdS|j d¡}|rrd| ¡vrrdSdS)NÚ connectionrhÚcloseTFz keep-alivezproxy-connection)rBrqrQr.)r3ÚconnZpconnrrrrr�s    zHTTPResponse._check_closecCs|j}d|_| ¡dS©N)rArw)r3rArrrrdžszHTTPResponse._close_conncs2ztƒ ¡W|jr.| ¡n|jr,| ¡0dSry)ÚsuperrwrArd©r3©Ú __class__rrrw£s   ÿzHTTPResponse.closecstƒ ¡|jr|j ¡dSry)rzÚflushrAr{r|rrr~¯s zHTTPResponse.flushcCsdS)NTrr{rrrÚreadable´szHTTPResponse.readablecCs |jduSry)rAr{rrrÚisclosedºszHTTPResponse.isclosedcCsº|jdurdS|jdkr$| ¡dS|durRt|ƒ}| |¡}t|ƒd|… ¡S|jr`| ¡S|j durv|j  ¡}n4z|  |j ¡}Wnt y¢| ¡‚Yn0d|_ | ¡|SdS)Nrrmr) rArNrdÚ bytearrayÚreadintoÚ memoryviewÚtobytesrTÚ_readall_chunkedrVÚreadÚ _safe_readr )r3ÚamtÚbr4Úsrrrr†Äs*      zHTTPResponse.readcCs¦|jdurdS|jdkr$| ¡dS|jr4| |¡S|jdur^t|ƒ|jkr^t|ƒd|j…}|j |¡}|s||r|| ¡n&|jdur¢|j|8_|js¢| ¡|S)Nrrm) rArNrdrTÚ_readinto_chunkedrVr/rƒr‚)r3r‰r4rrrr‚äs$       zHTTPResponse.readintocCsp|j td¡}t|ƒtkr$tdƒ‚| d¡}|dkrB|d|…}z t|dƒWStyj| ¡‚Yn0dS)Nr-z chunk sizeó;ré) rAr>r?r/rÚfindrerbrd)r3r5ÚirrrÚ_read_next_chunk_sizes     z"HTTPResponse._read_next_chunk_sizecCs:|j td¡}t|ƒtkr$tdƒ‚|s*q6|dvrq6qdS)Nr-z trailer liner;)rAr>r?r/r©r3r5rrrÚ_read_and_discard_trailers z&HTTPResponse._read_and_discard_trailercCsj|j}|sf|dur| d¡z | ¡}WntyBtdƒ‚Yn0|dkr`| ¡| ¡d}||_|S)Nr\rr)rUr‡r�rbr r’rd)r3rUrrrÚ_get_chunk_left$s   zHTTPResponse._get_chunk_leftcCs`g}z6| ¡}|durq0| | |¡¡d|_qd |¡WStyZtd |¡ƒ‚Yn0dS©Nrr)r“r2r‡rUrFr )r3ÚvaluerUrrrr…<s  zHTTPResponse._readall_chunkedcCs®d}t|ƒ}zv| ¡}|dur$|WSt|ƒ|krN| |¡}|||_||WS|d|…}| |¡}||d…}||7}d|_qWn&ty¨tt|d|…ƒƒ‚Yn0dS©Nr)rƒr“r/Ú_safe_readintorUr Úbytes)r3r‰Ú total_bytesÚmvbrUr4Útemp_mvbrrrr‹Js"         zHTTPResponse._readinto_chunkedcCsTg}|dkrJ|j t|tƒ¡}|s2td |¡|ƒ‚| |¡|t|ƒ8}qd |¡Sr”)rAr†ÚminÚ MAXAMOUNTr rFr2r/)r3rˆrŠÚchunkrrrr‡bs zHTTPResponse._safe_readcCs‚d}t|ƒ}|t|ƒkr~tt|ƒkr>|dt…}|j |¡}n |j |¡}|shtt|d|…ƒt|ƒƒ‚||d…}||7}q |Sr–)rƒr/r�rAr‚r r˜)r3r‰r™ršr›r4rrrr—ys      zHTTPResponse._safe_readintoéÿÿÿÿcCsˆ|jdus|jdkrdS|jr(| |¡S|jdurJ|dksD||jkrJ|j}|j |¡}|sh|rh| ¡n|jdur„|jt|ƒ8_|S©Nrmrr)rArNrTÚ_read1_chunkedrVÚread1rdr/)r3r4Úresultrrrr¢‰s    zHTTPResponse.read1cCs4|jdus|jdkrdS|jr(| |¡S|j |¡S)Nrmr)rArNrTÚ _peek_chunkedÚpeek)r3r4rrrr¥šs  zHTTPResponse.peekcsŠ|jdus|jdkrdS|jr*tƒ |¡S|jdurL|dksF||jkrL|j}|j |¡}|sj|rj| ¡n|jdur†|jt|ƒ8_|Sr )rArNrTrzr>rVrdr/)r3Úlimitr£r|rrr>£s    zHTTPResponse.readlinecCsd| ¡}|dus|dkrdSd|kr0|ks6n|}|j |¡}|jt|ƒ8_|s`tdƒ‚|Sr”)r“rAr¢rUr/r )r3r4rUr†rrrr¡²s zHTTPResponse._read1_chunkedcCsBz | ¡}Wnty YdS0|dur.dS|j |¡d|…S)Nr)r“r rAr¥)r3r4rUrrrr¤Às  zHTTPResponse._peek_chunkedcCs |j ¡Sry)rAÚfilenor{rrrr§ÍszHTTPResponse.filenocCsF|jdurtƒ‚|j |¡p|}t|tƒs4t|dƒs8|Sd |¡SdS)NÚ__iter__z, )rBrZget_allÚ isinstancer^ÚhasattrrF)r3r(ÚdefaultrBrrrÚ getheaderÐs zHTTPResponse.getheadercCs|jdurtƒ‚t|j ¡ƒSry)rBrÚlistrpr{rrrÚ getheadersäs zHTTPResponse.getheaderscCs|Sryrr{rrrr¨ìszHTTPResponse.__iter__cCs|jSry)rBr{rrrÚinfoñszHTTPResponse.infocCs|jSry)rZr{rrrÚgeturls zHTTPResponse.geturlcCs|jSry)rRr{rrrÚgetcodeszHTTPResponse.getcode)rNN)N)rŸ)rŸ)rŸ)N)"r7r8r9r[rfrurrrdrwr~rr€r†r‚r�r’r“r…r‹r‡r—r¢r¥r>r¡r¤r§r¬r®r¨r¯r°r±Ú __classcell__rrr|rrñs< !H  "     rc@s eZdZdZdZeZeZdZ dZ e dd„ƒZ e dd„ƒZ d ejd d fd d „Zd7d d„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd8d d!„Zd9d"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Z d:dd.œd/d0„Z!d ifdd.œd1d2„Z"d3d4„Z#d5d6„Z$d S);rrhzHTTP/1.1r-rcCs t|tjƒSry)r©ÚioÚ TextIOBase)ÚstreamrrrÚ _is_textIO%szHTTPConnection._is_textIOcCsd|dur| ¡tvrdSdSt|dƒr*dSzt|ƒ}|jWStyLYn0t|tƒr`t|ƒSdS)Nrr†) ÚupperÚ_METHODS_EXPECTING_BODYrªrƒÚnbytesÚ TypeErrorr©r^r/)ÚbodyrYÚmvrrrÚ_get_content_length+s    z"HTTPConnection._get_content_lengthNé cCsn||_||_||_d|_g|_d|_t|_d|_d|_ d|_ i|_ |  ||¡\|_ |_| |j ¡tj|_dSry)ÚtimeoutÚsource_addressÚ blocksizerXÚ_bufferÚ_HTTPConnection__responseÚ_CS_IDLEÚ_HTTPConnection__staterNÚ _tunnel_hostÚ _tunnel_portÚ_tunnel_headersÚ _get_hostportÚhostÚportÚ_validate_hostÚsocketÚcreate_connectionÚ_create_connection)r3rÊrËr¿rÀrÁrrrr[Ks zHTTPConnection.__init__cCs<|jrtdƒ‚| ||¡\|_|_|r.||_n |j ¡dS)Nz.Can't set up tunnel for established connection)rXÚ RuntimeErrorrÉrÆrÇrÈÚclear)r3rÊrËrBrrrÚ set_tunnelas zHTTPConnection.set_tunnelcCsÈ|durÀ| d¡}| d¡}||kr’zt||dd…ƒ}WnFty‚||dd…dkrf|j}ntd||dd…ƒ‚Yn0|d|…}n|j}|rÀ|ddkrÀ|ddkrÀ|dd…}||fS) Nr,ú]r-r]znonnumeric port: '%s'rú[rŸ)ÚrfindrerbÚ default_portr )r3rÊrËr�ÚjrrrrÉys    zHTTPConnection._get_hostportcCs ||_dSry)rM)r3ÚlevelrrrÚset_debuglevel�szHTTPConnection.set_debuglevelc Cs d|j d¡|jf}|g}|j ¡D]$\}}| |›d|›d� d¡¡q&| d¡| d |¡¡~|j|j |j d�}|  ¡\}}}|t j jkr´| ¡td |›d | ¡›�ƒ‚|j td ¡} t| ƒtkrØtd ƒ‚| sà�q| d vrì�q|jdkr´td|  ¡ƒq´dS)NsCONNECT %s:%d HTTP/1.0 Úasciiz: ú r r<r©rYzTunnel connection failed: ú r-r:r;rri)rÆr!rÇrÈrpr2ÚsendrFÚresponse_classrXrNrfÚhttpÚ HTTPStatusZOKrwÚOSErrorrorAr>r?r/rrMr_rG) r3ÚconnectrBÚheaderr•ÚresponserQrnÚmessager5rrrÚ_tunnel�s.ÿ    zHTTPConnection._tunnelc Csz| |j|jf|j|j¡|_z|j tjtj d¡Wn2t yf}z|j t j krR‚WYd}~n d}~00|j rv| ¡dS)Nr-)rÏrÊrËr¿rÀrXÚ setsockoptrÍÚ IPPROTO_TCPÚ TCP_NODELAYrâÚerrnoZ ENOPROTOOPTrÆrç©r3Úerrrrã°sÿ zHTTPConnection.connectcCsZt|_z4|j}|r d|_| ¡W|j}|rVd|_| ¡n|j}|rTd|_| ¡0dSry)rÄrÅrXrwrÃ)r3rXrårrrrw¾s  ýzHTTPConnection.closecCs|jdur |jr| ¡ntƒ‚|jdkr8tdt|ƒƒt|dƒr¦|jdkrTtdƒ| |¡}|rt|jdkrttdƒ|  |j ¡}|s†q¢|r”|  d¡}|j  |¡qtdSz|j  |¡WnHt yþt|tjjƒrê|D]}|j  |¡qÖnt dt|ƒƒ‚Yn0dS)Nrzsend:r†úsendIng a read()ableúencoding file using iso-8859-1rDz9data should be a bytes-like object or an iterable, got %r)rXÚ auto_openrãrrMr_r`rªr¶r†rÁr!Úsendallrºr©Ú collectionsÚabcÚIterableÚtype)r3rr!Ú datablockÚdrrrrÞÌs8         ÿzHTTPConnection.sendcCs|j |¡dSry)rÂr2)r3rŠrrrÚ_outputòszHTTPConnection._outputccs^|jdkrtdƒ| |¡}|r2|jdkr2tdƒ| |j¡}|sDqZ|rR| d¡}|Vq2dS)NrrîrïrD)rMr_r¶r†rÁr!)r3rr!rörrrÚ_read_readableùs    zHTTPConnection._read_readableFc Cs|j d¡d |j¡}|jdd…=| |¡|du�rt|dƒrN| |¡}nVz t|ƒWnBtyœz t|ƒ}Wn"ty–tdt |ƒƒ‚Yn0Yn0|f}|D]R}|sÄ|j dkr¨t dƒq¨|rð|j dkrðt |ƒd›d � d ¡|d}| |¡q¨|�r|j dk�r| d ¡dS) N)rrr<r†zAmessage_body should be a bytes-like object or an iterable, got %rrzZero length chunk ignoredrhÚXrÛrÚs0 )rÂÚextendrFrÞrªrùrƒrºÚiterrõrMr_Ú _http_vsnr/r!)r3Ú message_bodyÚencode_chunkedrOÚchunksržrrrÚ _send_outputs:           þ ÿ zHTTPConnection._send_outputc Csž|jr|j ¡rd|_|jtkr(t|_n t|jƒ‚| |¡||_|pHd}| |¡d|||j f}|  |  |¡¡|j dk�rš|�s†d}|  d¡r¦t|ƒ\}}}}}|räz| d¡}WntyÔ| d¡}Yn0| d|¡n¢|jrø|j} |j} n |j} |j} z|  d¡} Wnt�y0|  d¡} Yn0|  d ¡d k�rNd | d } | |jk�rh| d| ¡n|  d¡} | dd | | f¡|�sš| dd¡ndS)Nú/z%s %s %srhr]ràrÚZidnaZHostr,ró[ó]z%s:%szAccept-EncodingÚidentity)rÃr€rÅrÄÚ_CS_REQ_STARTEDr Ú_validate_methodrNÚ_validate_pathÚ _http_vsn_strrøÚ_encode_requestrýrcrr!r"Ú putheaderrÆrÇrÊrËrŽrÖrG) r3rYrZÚ skip_hostÚskip_accept_encodingÚrequestÚnetlocÚnilZ netloc_encrÊrËZhost_encrrrÚ putrequest=sP             zHTTPConnection.putrequestcCs | d¡S)NrÚ)r!)r3rrrrr ¼szHTTPConnection._encode_requestcCs,t |¡}|r(td|›d| ¡›d�ƒ‚dS)Nz)method can't contain control characters. ú (found at least ú))Ú$_contains_disallowed_method_pchar_reÚsearchrbÚgroup)r3rYÚmatchrrrrÀs ÿÿzHTTPConnection._validate_methodcCs,t |¡}|r(td|›d| ¡›d�ƒ‚dS©Nz&URL can't contain control characters. rr©Ú!_contains_disallowed_url_pchar_rerr r)r3rZrrrrrÉs   ÿzHTTPConnection._validate_pathcCs,t |¡}|r(td|›d| ¡›d�ƒ‚dSrr)r3rÊrrrrrÌÑs   ÿzHTTPConnection._validate_hostcGsÌ|jtkrtƒ‚t|dƒr$| d¡}t|ƒs:td|fƒ‚t|ƒ}t|ƒD]\\}}t|dƒrl| d¡||<nt |t ƒrˆt |ƒ d¡||<t ||ƒrJtd||fƒ‚qJd  |¡}|d|}| |¡dS)Nr!rÚzInvalid header name %rr zInvalid header value %rs s: )rÅrrrªr!Ú_is_legal_header_namerbr­Ú enumerater©rer^Ú_is_illegal_header_valuerFrø)r3räÚvaluesr�Z one_valuer•rrrr Ùs"        zHTTPConnection.putheader©rÿcCs*|jtkrt|_ntƒ‚|j||d�dS)Nr)rÅrÚ _CS_REQ_SENTrr)r3rþrÿrrrÚ endheadersõs zHTTPConnection.endheaderscCs| |||||¡dSry)Ú _send_request)r3rYrZr»rBrÿrrrrszHTTPConnection.requestc Csütdd„|Dƒƒ}i}d|vr&d|d<d|vr6d|d<|j||fi|¤Žd|vr´d |vr¸d }| ||¡}|dur¢|dur²|jd kr�td |ƒd }| dd¡q¸| dt|ƒ¡nd }| ¡D]\} } | | | ¡qÀt|tƒrêt |dƒ}|j ||d�dS)Ncss|]}| ¡VqdSry)r.)rÚkrrrÚ rz/HTTPConnection._send_request..rÊr-r zaccept-encodingr rkrjFrzUnable to determine size of %rTzTransfer-EncodingrTzContent-Lengthr»r) Ú frozensetrr½rMr_r r^rpr©r*r!) r3rYrZr»rBrÿZ header_namesZskipsZcontent_lengthrsr•rrrr"s0      zHTTPConnection._send_requestcCsÌ|jr|j ¡rd|_|jtks&|jr0t|jƒ‚|jdkrR|j|j|j|jd�}n|j|j|jd�}zLz |  ¡Wnt yŽ|  ¡‚Yn0t |_|j r¦|  ¡n||_|WS|  ¡‚Yn0dS)NrrÜ)rÃr€rÅr rrMrßrXrNruÚConnectionErrorrwrÄrW)r3rårrrÚ getresponse5s.   ÿ   zHTTPConnection.getresponse)NN)NF)FF)N)%r7r8r9rýr rrßÚ HTTP_PORTrÖrðrMÚ staticmethodr¶r½rÍÚ_GLOBAL_DEFAULT_TIMEOUTr[rÒrÉrÙrçrãrwrÞrørùrrr rrrÌr r!rr"r'rrrrrsJ  ÿ   & 6ÿ   ÿ .rcsDeZdZeZdddejdfddddœ‡fdd„ Z‡fdd„Z‡Z S)ÚHTTPSConnectionNr¾)ÚcontextÚcheck_hostnamerÁc sÜtt|ƒj||||| d�|dus2|dus2|durHddl} |  dtd¡||_||_|durtt  ¡}|j durtd|_ |j tj k} |durŽ|j }|rž| sžtdƒ‚|s¦|rÂ| ||¡|j durÂd|_ ||_|durØ||j_ dS)N)rÁrzTkey_file, cert_file and check_hostname are deprecated, use a custom context instead.r\TzMcheck_hostname needs a SSL context with either CERT_OPTIONAL or CERT_REQUIRED)rzr+r[ÚwarningsÚwarnÚDeprecationWarningÚkey_fileÚ cert_fileÚsslZ_create_default_https_contextZpost_handshake_authZ verify_modeZ CERT_NONEr-rbZload_cert_chainÚ_context) r3rÊrËr1r2r¿rÀr,r-rÁr.Z will_verifyr|rrr[€s:þÿþ    zHTTPSConnection.__init__cs6tƒ ¡|jr|j}n|j}|jj|j|d�|_dS)N)Úserver_hostname)rzrãrÆrÊr4Z wrap_socketrX)r3r5r|rrrã¤s  ÿzHTTPSConnection.connect) r7r8r9Ú HTTPS_PORTrÖrÍr*r[rãr²rrr|rr+ysþý$r+c@s eZdZdS)rN©r7r8r9rrrrr³src@s eZdZdS)rNr7rrrrr¸src@s eZdZdS)r Nr7rrrrr »sr c@seZdZdd„ZdS)rcCs|f|_||_dSry)ÚargsrQ)r3rQrrrr[¿szUnknownProtocol.__init__N©r7r8r9r[rrrrr¾src@s eZdZdS)rNr7rrrrrÃsrc@s eZdZdS)r Nr7rrrrr Æsr c@s$eZdZddd„Zdd„ZejZdS)r NcCs|f|_||_||_dSry)r8ÚpartialÚexpected)r3r:r;rrrr[ÊszIncompleteRead.__init__cCs2|jdurd|j}nd}d|jjt|jƒ|fS)Nz, %i more expectedr]z%s(%i bytes read%s))r;r}r7r/r:rìrrrÚ__repr__Îs    ÿzIncompleteRead.__repr__)N)r7r8r9r[r<r$Ú__str__rrrrr És r c@s eZdZdS)r Nr7rrrrr ×sr c@s eZdZdS)r Nr7rrrrr Úsr c@s eZdZdS)rNr7rrrrrÝsrc@s eZdZdS)rNr7rrrrràsrc@seZdZdd„ZdS)rcCs|s t|ƒ}|f|_||_dSry)r`r8r5r‘rrrr[äszBadStatusLine.__init__Nr9rrrrrãsrc@seZdZdd„ZdS)rcCst |dt|f¡dS)Nz&got more than %d bytes when reading %s)rr[r?)r3Z line_typerrrr[ësÿzLineTooLong.__init__Nr9rrrrrêsrc@seZdZdd„ZdS)rcOs(t |d¡tj|g|¢Ri|¤ŽdS)Nr])rr[ÚConnectionResetError)r3ÚposÚkwrrrr[ðs zRemoteDisconnected.__init__Nr9rrrrrïsr)r)BZ email.parserrHZ email.messagerëràr³ÚrerÍÚcollections.abcròÚ urllib.parserÚ__all__r(r6rPrÄrr ÚglobalsÚupdateráÚ __members__rrr�r?r@ÚcompileÚ fullmatchrrrrrr¸r*ræZMessager+rCrJÚBufferedIOBaserrr3Ú ImportErrorr+r2Ú Exceptionrrr rrr r r r rrrrr>rrrrrrÚGsx       .] 8