§
    ;xÅj¤8  ã            	       óÜ   — d dl Z d dlmZ d dlmZmZ ddlmZ ddlm	Z	m
Z
mZmZmZ ddlmZmZmZmZmZmZ ddlmZmZ dd	lmZ dd
lmZmZmZ  G d„ deeeeef                  ¦  «        ZdS )é    N)Úsuppress)ÚAnyÚCallableé   )ÚBaseProtocol)ÚClientConnectionErrorÚClientOSErrorÚClientPayloadErrorÚServerDisconnectedErrorÚSocketTimeoutError)Ú_EXC_SENTINELÚDEFAULT_CHUNK_SIZEÚEMPTY_BODY_STATUS_CODESÚBaseTimerContextÚset_exceptionÚ
set_result)ÚHttpResponseParserÚRawResponseMessage)ÚHttpProcessingError)ÚEMPTY_PAYLOADÚ	DataQueueÚStreamReaderc                   ó:  ‡ — e Zd ZdZdej        ddfd„Zeddej        d         z  fd„¦   «         Z	ede
fd„¦   «         Zede
fd„¦   «         Zd3d	„Zd3d
„Zd3d„Zde
fd„Zdedz  ddfˆ fd„Zd3d„Zd3ˆ fd„Zd4de
ddfˆ fd„Zd3d„Zefdededdfˆ fd„Z	 d5dededeg df         dz  ddfd„Zdddddedddddœ
d edz  d!e
d"e
d#e
d$edz  d%ed&ed'ed(ed)eddfd*„Z d3d+„Z!d3d,„Z"d3d-„Z#ededz  fd.„¦   «         Z$e$j%        d$edz  ddfd/„¦   «         Z$d3d0„Z&d1e'ddfd2„Z(ˆ xZ)S )6ÚResponseHandlerz8Helper class to adapt between Protocol and StreamReader.ÚloopÚreturnNc                 ó,  — t          j        | |d ¬¦  «         t          j        | |¦  «         d| _        d | _        d| _        d | _        d | _        d | _        d| _	        d| _
        t          | _        d | _        d | _        d| _        d | _        d| _        d S )N)r   ÚparserFó    é   )r   Ú__init__r   Ú_should_closeÚ_payloadÚ_skip_payloadÚ_payload_parserÚ_data_received_cbÚ_timerÚ_tailÚ_payload_parser_failedr   Ú_read_bufsizeÚ_read_timeoutÚ_read_timeout_handleÚ_timeout_ceil_thresholdÚ_closedÚ_connection_lost_called)Úselfr   s     úEC:\Projects\Historical\venv\Lib\site-packages\aiohttp/client_proto.pyr!   zResponseHandler.__init__   sŸ   € ÝÔ˜d¨°dÐ;Ñ;Ô;Ð;ÝÔ˜4 Ñ&Ô&Ð&à"ˆÔà-1ˆŒØ"ˆÔØ#ˆÔØ<@ˆÔàˆŒØˆŒ
Ø&+ˆÔ#Ý/ˆÔà+/ˆÔØ@DˆÔ!à56ˆÔ$à48ˆŒØ',ˆÔ$Ð$Ð$r   c                 óh   — | j         €%| j        s| j                             ¦   «         | _         | j         S )a6  Future that is set when the connection is closed.

        This property returns a Future that will be completed when the connection
        is closed. The Future is created lazily on first access to avoid creating
        futures that will never be awaited.

        Returns:
            - A Future[None] if the connection is still open or was closed after
              this property was accessed
            - None if connection_lost() was already called before this property
              was ever accessed (indicating no one is waiting for the closure)
        )r.   r/   Ú_loopÚcreate_future©r0   s    r1   ÚclosedzResponseHandler.closed5   s1   € ð Œ<Ð¨Ô(DÐØœ:×3Ò3Ñ5Ô5ˆDŒLØŒ|Ðr   c                 ó   — | j         S ©N)Ú	_upgradedr5   s    r1   ÚupgradedzResponseHandler.upgradedG   s
   € àŒ~Ðr   c                 ó¾   — t          | j        pI| j        d uo| j                             ¦   «          p&| j        p| j        d up| j        d up| j        p| j        ¦  «        S r8   )	Úboolr"   r#   Úis_eofr9   Ú
_exceptionr%   Ú_bufferr(   r5   s    r1   Úshould_closezResponseHandler.should_closeK   s„   € åØÔð Ø” TÐ)ÐH°$´-×2FÒ2FÑ2HÔ2HÐ.HðàŒ~ðð Œ dÐ*ðð Ô#¨4Ð/ð	ð
 Œ|ðð Œzñ
ô 
ð 	
r   c                 ó   — d| _         d S ©NT)r"   r5   s    r1   Úforce_closezResponseHandler.force_closeW   s   € Ø!ˆÔÐÐr   c                 ó–   — d | _         | j        }|�8|                     ¦   «          d | _        d | _        |                      ¦   «          d S d S r8   )r>   Ú	transportÚcloser#   Ú_drop_timeout©r0   rE   s     r1   rF   zResponseHandler.closeZ   óT   € ØˆŒØ”Nˆ	ØÐ Ø�OŠOÑÔÐØ!ˆDŒNØ ˆDŒMØ×ÒÑ Ô Ð Ð Ð ð	 !Ð r   c                 ó–   — d | _         | j        }|�8|                     ¦   «          d | _        d | _        |                      ¦   «          d S d S r8   )r>   rE   Úabortr#   rG   rH   s     r1   rK   zResponseHandler.abortc   rI   r   c                 óH   — | j         d uo| j                              ¦   «          S r8   )rE   Ú
is_closingr5   s    r1   Úis_connectedzResponseHandler.is_connectedl   s%   € ØŒ~ TÐ)ÐM°$´.×2KÒ2KÑ2MÔ2MÐ.MÐMr   Úexcc                 óä  •— d| _         |                      ¦   «          |}|}|d u }| j        �B|rt          | j        d ¦  «         n*|€J ‚t	          | j        t          d|›�¦  «        |¦  «         | j        �Et          t          ¦  «        5  | j         	                    ¦   «          d d d ¦  «         n# 1 swxY w Y   d }| j
        �j	 | j
         	                    ¦   «         }nO# t          $ rB}| j        �1d|›�}|s|›d|›�}t	          | j        t          |¦  «        |¦  «         Y d }~nd }~ww xY w|                      ¦   «         s]t          |t          ¦  «        rt!          |j        Ž }|rt%          |¦  «        }|rt&          n|}|€J ‚|€J ‚|                      ||¦  «         d| _        d | _
        d | _        d | _        d| _        d| _        d| _        t1          ¦   «                              |¦  «         d S )NTzConnection lost: z#Response payload is not completed: z. F)r/   rG   r.   r   r   r   r%   r   Ú	ExceptionÚfeed_eofÚ_parserr#   r
   r=   Ú
isinstanceÚOSErrorr	   Úargsr   r   r"   r)   Ú_reading_pausedÚ_buffer_pausedÚsuperÚconnection_lost)
r0   rO   Úoriginal_connection_errorÚreraised_excÚconnection_closed_cleanlyÚuncompletedÚunderlying_excÚclient_payload_exc_msgÚunderlying_non_eof_excÚ	__class__s
            €r1   rZ   zResponseHandler.connection_losto   sº  ø€ Ø'+ˆÔ$Ø×ÒÑÔÐà$'Ð!Ø0ˆà$=ÀÐ$EÐ!àŒ<Ð#ð )ð 
Ý˜4œ<¨Ñ.Ô.Ð.Ð.à0Ð<Ð<Ð<ÝØ”LÝ)ØJÐ,EÐJÐJñô ð .ñô ð ð ÔÐ+Ý�)Ñ$Ô$ð 0ð 0ØÔ$×-Ò-Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð ˆØŒ<Ð#ðØ"œl×3Ò3Ñ5Ô5��øÝð ð ð Ø”=Ð,àQ¸nÐQÐQð +ð 5ð à5ð >ð >Ø8ð>ð >ð /õ "ØœÝ*Ð+AÑBÔBØ&ñô ð øøøøøøøøøðøøøð  �{Š{‰}Œ}ð 	EÝÐ3µWÑ=Ô=ð NÝ,Ð.GÔ.LÐM�Ø(ð DÝ6°{ÑCÔC�ð
 -ð/•�à.ð #ð
 *Ð5Ð5Ð5ØÐ+Ð+Ð+Ø×Ò˜|Ð-CÑDÔDÐDà!ˆÔØˆŒØˆŒØ#ˆÔØ&+ˆÔ#Ø$ˆÔØ#ˆÔå‰Œ×Ò Ñ-Ô-Ð-Ð-Ð-s*   Â	B/Â/B3Â6B3ÃC Ã
D*Ã(8D%Ä%D*c                 ó.   — |                       ¦   «          d S r8   )rG   r5   s    r1   Úeof_receivedzResponseHandler.eof_received¼   s   € à×ÒÑÔÐÐÐr   c                 óp   •— t          ¦   «                              ¦   «          |                      ¦   «          d S r8   )rY   Úpause_readingrG   )r0   rb   s    €r1   rf   zResponseHandler.pause_readingÀ   s1   ø€ Ý‰Œ×ÒÑÔÐØ×ÒÑÔÐÐÐr   TÚresume_parserc                 óš   •— | j         }t          ¦   «                              |¦  «         |r| j        s|                      ¦   «          d S d S d S r8   )rW   rY   Úresume_readingrX   Ú_reschedule_timeout)r0   rg   Ú
was_pausedrb   s      €r1   ri   zResponseHandler.resume_readingÄ   sc   ø€ ØÔ)ˆ
Ý‰Œ×Ò˜}Ñ-Ô-Ð-ð ð 	'˜dÔ1ð 	'Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&ð	'ð 	'ð 	'ð 	'r   c                 ó@  — | j         r$| j         dc}| _         |                      |¦  «         t          | j         ¦  «        ot          | j         ¦  «        | j        k    }| j        r|s|                      ¦   «          | j        s| j        r|                      ¦   «          d S d S )Nr   )	r(   Údata_receivedr<   Úlenr*   rX   Ú_resume_reading_for_bufferrW   rG   )r0   ÚdataÚstill_bounds      r1   Ú_drain_tailzResponseHandler._drain_tailÌ   s±   € ØŒ:ð 	%Ø#œz¨3ÐˆD�$”*Ø×Ò˜tÑ$Ô$Ð$å˜4œ:Ñ&Ô&ÐP­3¨t¬z©?¬?¸dÔ>PÒ+PˆØÔð 	. {ð 	.Ø×+Ò+Ñ-Ô-Ð-ØÔð 	! 4Ô#6ð 	!ð ×ÒÑ Ô Ð Ð Ð ð	!ð 	!r   Ú	exc_causec                 ó‚   •— d| _         |                      ¦   «          t          ¦   «                              ||¦  «         d S rB   )r"   rG   rY   r   )r0   rO   rs   rb   s      €r1   r   zResponseHandler.set_exceptionÙ   s?   ø€ ð
 "ˆÔØ×ÒÑÔÐÝ‰Œ×Ò˜c 9Ñ-Ô-Ð-Ð-Ð-r   r   ÚpayloadÚdata_received_cbc                 ó€   — || _         || _        || _        |                      ¦   «          |                      ¦   «          d S r8   )r#   r%   r&   rG   rr   )r0   r   ru   rv   s       r1   Ú
set_parserzResponseHandler.set_parserâ   sE   € ð  ˆŒØ%ˆÔØ!1ˆÔà×ÒÑÔÐà×ÒÑÔÐÐÐr   Fr    iþ  é€   )
ÚtimerÚskip_payloadÚread_until_eofÚauto_decompressÚread_timeoutÚread_bufsizeÚtimeout_ceil_thresholdÚmax_line_sizeÚmax_field_sizeÚmax_headersrz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   c       
         óº   — || _         || _        || _        || _        t	          | | j        ||t          | ||||	|
¬¦  «        | _        |                      ¦   «          d S )N)rz   Úpayload_exceptionÚresponse_with_bodyr|   r}   r�   r‚   rƒ   )	r$   r*   r+   r-   r   r3   r
   rS   rr   )r0   rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   s              r1   Úset_response_paramsz#ResponseHandler.set_response_paramsõ   sz   € ð *ˆÔà)ˆÔØ)ˆÔà'=ˆÔ$å)ØØŒJØØÝ0Ø#/Ð/Ø)Ø+Ø'Ø)Ø#ð
ñ 
ô 
ˆŒð 	×ÒÑÔÐÐÐr   c                 óX   — | j         �"| j                              ¦   «          d | _         d S d S r8   )r,   Úcancelr5   s    r1   rG   zResponseHandler._drop_timeout  s6   € ØÔ$Ð0ØÔ%×,Ò,Ñ.Ô.Ð.Ø(,ˆDÔ%Ð%Ð%ð 1Ð0r   c                 ó´   — | j         }| j        �| j                             ¦   «          |r'| j                             || j        ¦  «        | _        d S d | _        d S r8   )r+   r,   r‰   r3   Ú
call_laterÚ_on_read_timeout)r0   Útimeouts     r1   rj   z#ResponseHandler._reschedule_timeout  sh   € ØÔ$ˆØÔ$Ð0ØÔ%×,Ò,Ñ.Ô.Ð.àð 	-Ø(,¬
×(=Ò(=Ø˜Ô.ñ)ô )ˆDÔ%Ð%Ð%ð )-ˆDÔ%Ð%Ð%r   c                 ó.   — |                       ¦   «          d S r8   )rj   r5   s    r1   Ústart_timeoutzResponseHandler.start_timeout+  s   € Ø× Ò Ñ"Ô"Ð"Ð"Ð"r   c                 ó   — | j         S r8   ©r+   r5   s    r1   r~   zResponseHandler.read_timeout.  s   € àÔ!Ð!r   c                 ó   — || _         d S r8   r‘   )r0   r~   s     r1   r~   zResponseHandler.read_timeout2  s   € à)ˆÔÐÐr   c                 óŠ   — t          d¦  «        }|                      |¦  «         | j        �t          | j        |¦  «         d S d S )Nz#Timeout on reading data from socket)r   r   r#   )r0   rO   s     r1   rŒ   z ResponseHandler._on_read_timeout6  sL   € Ý Ð!FÑGÔGˆØ×Ò˜3ÑÔÐØŒ=Ð$Ý˜$œ-¨Ñ-Ô-Ð-Ð-Ð-ð %Ð$r   rp   c                 óü  — | j         rd S |r|                      ¦   «          | j        �Q| j        �|                      ¦   «          | j                             |¦  «        \  }}|rd | _        d | _        d| _         d S | j        s| j        €e| xj        |z  c_        | j	        sL| j        rEt          | j        ¦  «        | j        k    r(|                      ¦   «          |                      ¦   «          d S 	 | j                             |¦  «        \  }}}n©# t          $ rœ}| j        �| j                             ¦   «          t#          |t$          ¦  «        s‚ t#          |t&          ¦  «        r"t'          |j        |j        |j        ¬¦  «        }nt'          ¦   «         }|                      ||¦  «         Y d }~d S d }~ww xY w|| _        d }	|D ]e\  }
}	|
j        rd| _        |	| _        | j        s|
j        t6          v r|                      |
t8          fd¦  «         ŒM|                      |
|	fd¦  «         Œf|	�8|	t8          ur|	                     | j        ¦  «         n|                      ¦   «          |r|r|                      |¦  «         d S d S d S )NT)ÚcodeÚmessageÚheadersr   )r)   rj   r%   r&   Ú	feed_datar#   r9   rS   r(   rX   rn   r*   Ú_pause_reading_for_bufferrG   ÚBaseExceptionrE   rF   rT   rQ   r   r•   r–   r—   r   r@   r"   r$   r   r   Úon_eofrm   )r0   rp   Úprotocol_errorÚ_Úmessagesr:   Útailr_   rO   ru   r–   s              r1   rm   zResponseHandler.data_received<  sö  € ØÔ&ð 	ð ˆFð ð 	'Ø×$Ò$Ñ&Ô&Ð&ð ÔÐ+ØÔ%Ð1Ø×&Ò&Ñ(Ô(Ð(ð !%Ô 4× >Ò >¸tÑ DÔ DÑˆN˜AØð 3Ø $�”Ø'+�Ô$Ø.2�Ô+ØˆFàŒ>ð 	˜Tœ\Ð1àˆJŒJ˜$ÑˆJŒJð
 Ô'ð%à”Jð%õ ˜œ
‘O”O tÔ'9Ò9Ð9à×.Ò.Ñ0Ô0Ð0à×"Ò"Ñ$Ô$Ð$ØˆFð	Ø'+¤|×'=Ò'=¸dÑ'CÔ'CÑ$ˆH�h  øÝð 	ð 	ð 	ØŒ~Ð)ð ”×$Ò$Ñ&Ô&Ð&Ý˜n­iÑ8Ô8ð Øå˜.Õ*=Ñ>Ô>ð ,Ý)Ø'Ô,Ø*Ô2Ø*Ô2ðñ ô ��õ *Ñ+Ô+�Ø×Ò˜s NÑ3Ô3Ð3ØˆFˆFˆFˆFˆFøøøøð%	øøøð( "ˆŒà'+ˆØ (ð 		6ð 		6ÑˆG�WØÔ#ð *Ø%)�Ô"à#ˆDŒMàÔ!ð 6 W¤\Õ5LÐ%LÐ%LØ—’ ­Ð7¸Ñ;Ô;Ð;Ð;à—’ ¨Ð1°1Ñ5Ô5Ð5Ð5àÐð
 �mÐ+Ð+Ø—’˜tÔ1Ñ2Ô2Ð2Ð2à×"Ò"Ñ$Ô$Ð$àð 	%˜ð 	%Ø×Ò˜tÑ$Ô$Ð$Ð$Ð$ð	%ð 	%ð 	%ð 	%s   Ã,D Ä
F1ÄBF,Æ,F1)r   N)Tr8   )*Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚasyncioÚAbstractEventLoopr!   ÚpropertyÚFuturer6   r<   r:   r@   rC   rF   rK   rN   rš   rZ   rd   rf   ri   rr   r   r   r   r   rx   r   r   ÚfloatÚintr‡   rG   rj   r�   r~   ÚsetterrŒ   Úbytesrm   Ú__classcell__)rb   s   @r1   r   r      s  ø€ € € € € ØBÐBð-˜WÔ6ð -¸4ð -ð -ð -ð -ð0 ð˜˜wœ~¨dÔ3Ñ3ð ð ð ñ „Xðð" ð˜$ð ð ð ñ „Xðð ð	
˜dð 	
ð 	
ð 	
ñ „Xð	
ð"ð "ð "ð "ð!ð !ð !ð !ð!ð !ð !ð !ðN˜dð Nð Nð Nð NðK. =°4Ñ#7ð K.¸Dð K.ð K.ð K.ð K.ð K.ð K.ðZð ð ð ðð ð ð ð ð ð'ð '¨Dð '¸Dð 'ð 'ð 'ð 'ð 'ð 'ð!ð !ð !ð !ð  $1ð.ð .àð.ð !ð.ð 
ð	.ð .ð .ð .ð .ð .ð 7;ð	ð àðð ðð # 2 t 8Ô,¨tÑ3ð	ð
 
ðð ð ð ð, *.Ø"Ø$Ø $Ø%)Ø.Ø()Ø!Ø"Øð#ð #ð #ð   $Ñ&ð#ð ð	#ð
 ð#ð ð#ð ˜d‘lð#ð ð#ð !&ð#ð ð#ð ð#ð ð#ð 
ð#ð #ð #ð #ðJ-ð -ð -ð -ð

-ð 
-ð 
-ð 
-ð#ð #ð #ð #ð ð"˜e d™lð "ð "ð "ñ „Xð"ð Ôð*¨°©ð *¸$ð *ð *ð *ñ Ôð*ð.ð .ð .ð .ðY% %ð Y%¨Dð Y%ð Y%ð Y%ð Y%ð Y%ð Y%ð Y%ð Y%r   r   ) r¤   Ú
contextlibr   Útypingr   r   Úbase_protocolr   Úclient_exceptionsr   r	   r
   r   r   Úhelpersr   r   r   r   r   r   Úhttpr   r   Úhttp_exceptionsr   Ústreamsr   r   r   Útupler   © r   r1   ú<module>r·      sz  ðØ €€€Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  à 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;ð{%ð {%ð {%ð {%ð {%�l I¨eÐ4FÈÐ4TÔ.UÔ$Vñ {%ô {%ð {%ð {%ð {%r   