Ë
    Eü´jž1  ã            	       óÈ   — 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y)é    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d2d	„Zd2d
„Zd2d„Zde
fd„Zdedz  ddfˆ fd„Zd2d„Zd2ˆ fd„Zd3de
ddfˆ fd„Zefdededdfˆ fd„Z	 d4d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d2d*„Z d2d+„Z!d2d,„Z"ededz  fd-„«       Z#e#jH                  d#edz  ddfd.„«       Z#d2d/„Z%d0e&ddfd1„Z'ˆ xZ(S )5ÚResponseHandlerz8Helper class to adapt between Protocol and StreamReader.ÚloopÚreturnNc                 ó  — t        j                  | |d ¬«       t        j                  | |«       d| _        d | _        d| _        d | _        d | _        d | _        d| _	        d | _
        d | _        d| _        d | _        d| _        y )N)r   ÚparserFó    é   )r   Ú__init__r   Ú_should_closeÚ_payloadÚ_skip_payloadÚ_payload_parserÚ_data_received_cbÚ_timerÚ_tailÚ_read_timeoutÚ_read_timeout_handleÚ_timeout_ceil_thresholdÚ_closedÚ_connection_lost_called)Úselfr   s     úR/root/workspace/ytshorts/venv/lib/python3.12/site-packages/aiohttp/client_proto.pyr!   zResponseHandler.__init__   s€   € Ü×Ñ˜d¨°dÕ;Ü×Ñ˜4 Ô&à"ˆÔà-1ˆŒØ"ˆÔØ#ˆÔØ<@ˆÔàˆŒØˆŒ
à+/ˆÔØ@DˆÔ!à56ˆÔ$à48ˆŒØ',ˆÕ$r   c                 óˆ   — | j                   €+| j                  s| j                  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©r.   s    r/   ÚclosedzResponseHandler.closed3   s4   € ð �<‰<Ð¨×(DÒ(DØŸ:™:×3Ñ3Ó5ˆDŒLØ�|‰|Ðr   c                 ó   — | j                   S ©N)Ú	_upgradedr3   s    r/   ÚupgradedzResponseHandler.upgradedE   s   € à�~‰~Ðr   c                 ó  — t        | j                  xsu | j                  d uxr | j                  j                  «        xsH | j                  xs: | j
                  d uxs* | j                  d uxs | j                  xs | j                  «      S r6   )	Úboolr"   r#   Úis_eofr7   Ú
_exceptionr%   Ú_bufferr(   r3   s    r/   Úshould_closezResponseHandler.should_closeI   sŽ   € äØ×Ñò Ø—‘ TÐ)ÒH°$·-±-×2FÑ2FÓ2HÐ.Hòà�~‰~òð �‰ dÐ*òð ×#Ñ#¨4Ð/ò	ð
 �|‰|òð �z‰zó
ð 	
r   c                 ó   — d| _         y ©NT)r"   r3   s    r/   Úforce_closezResponseHandler.force_closeU   s
   € Ø!ˆÕr   c                 óŒ   — d | _         | j                  }|�/|j                  «        d | _        d | _        | j	                  «        y y r6   )r<   Ú	transportÚcloser#   Ú_drop_timeout©r.   rC   s     r/   rD   zResponseHandler.closeX   óA   € ØˆŒØ—N‘Nˆ	ØÐ Ø�O‰OÔØ!ˆDŒNØ ˆDŒMØ×ÑÕ ð	 !r   c                 óŒ   — d | _         | j                  }|�/|j                  «        d | _        d | _        | j	                  «        y y r6   )r<   rC   Úabortr#   rE   rF   s     r/   rI   zResponseHandler.aborta   rG   r   c                 óX   — | j                   d uxr | j                   j                  «        S r6   )rC   Ú
is_closingr3   s    r/   Úis_connectedzResponseHandler.is_connectedj   s&   € Ø�~‰~ TÐ)ÒM°$·.±.×2KÑ2KÓ2MÐ.MÐMr   Úexcc                 óŒ  •— d| _         | j                  «        |}|}|d u }| j                  �@|rt        | j                  d «       n'|€J ‚t	        | j                  t        d|›�«      |«       | j                  �2t        t        «      5  | j                  j                  «        d d d «       d }| j                  �	 | j                  j                  «       }| j                  «       sSt        |t        «      rt!        |j"                  Ž }|rt%        |«      }|rt&        n|}|€J ‚|€J ‚| j	                  ||«       d| _        d | _
        d | _        d | _        d| _        t,        ‰	| �]  |«       y # 1 sw Y   ŒÈxY w# t        $ rD}| j                  �.d|›�}|s|›d|›�}t	        | j                  t        |«      |«       Y d }~Œêd }~ww xY w)NTzConnection lost: z#Response payload is not completed: z. F)r-   rE   r,   r   r   r   r%   r   Ú	ExceptionÚfeed_eofÚ_parserr#   r
   r;   Ú
isinstanceÚOSErrorr	   Úargsr   r   r"   Ú_reading_pausedÚsuperÚconnection_lost)
r.   rM   Úoriginal_connection_errorÚreraised_excÚconnection_closed_cleanlyÚuncompletedÚunderlying_excÚclient_payload_exc_msgÚunderlying_non_eof_excÚ	__class__s
            €r/   rW   zResponseHandler.connection_lostm   sî  ø€ Ø'+ˆÔ$Ø×ÑÔà$'Ð!Ø0ˆà$=ÀÐ$EÐ!à�<‰<Ð#ñ )Ü˜4Ÿ<™<¨Õ.à0Ð<Ð<Ð<ÜØ—L‘LÜ)Ø+Ð,EÐ+IÐJóð .ôð ×ÑÐ+Üœ)Ó$ñ 0Ø×$Ñ$×-Ñ-Ô/÷0ð ˆØ�<‰<Ð#ðØ"Ÿl™l×3Ñ3Ó5�ð" �{‰{Œ}ÜÐ3´WÔ=Ü,Ð.G×.LÑ.LÐM�Ù(Ü6°{ÓC�ñ
 -õ à.ð #ð
 *Ð5Ð5Ð5ØÐ+Ð+Ð+Ø×Ñ˜|Ð-CÔDà!ˆÔØˆŒØˆŒØ#ˆÔØ$ˆÔä‰Ñ Õ-÷[0ð 0ûô ò Ø—=‘=Ð,à=¸nÐ=PÐQð +ñ 5à5Ð9¸Ø8Ð<ð>ð /ô "ØŸ™Ü*Ð+AÓBØ&ôÿøðús$   ÂE*Â:E6 Å*E3Å6	GÅ?:F>Æ>Gc                 ó$   — | j                  «        y r6   )rE   r3   s    r/   Úeof_receivedzResponseHandler.eof_received¸   s   € à×ÑÕr   c                 óB   •— t         ‰| �  «        | j                  «        y r6   )rV   Úpause_readingrE   )r.   r_   s    €r/   rc   zResponseHandler.pause_reading¼   s   ø€ Ü‰ÑÔØ×ÑÕr   TÚresume_parserc                 ób   •— | j                   }t        ‰| �	  |«       |r| j                  «        y y r6   )rU   rV   Úresume_readingÚ_reschedule_timeout)r.   rd   Ú
was_pausedr_   s      €r/   rf   zResponseHandler.resume_readingÀ   s/   ø€ Ø×)Ñ)ˆ
Ü‰Ñ˜}Ô-ÙØ×$Ñ$Õ&ð r   Ú	exc_causec                 óT   •— d| _         | j                  «        t        ‰| �  ||«       y r@   )r"   rE   rV   r   )r.   rM   ri   r_   s      €r/   r   zResponseHandler.set_exceptionÆ   s(   ø€ ð
 "ˆÔØ×ÑÔÜ‰Ñ˜c 9Õ-r   r   ÚpayloadÚdata_received_cbc                 ó²   — || _         || _        || _        | j                  «        | j                  r&| j                  dc}| _        | j                  |«       y y )Nr   )r#   r%   r&   rE   r(   Údata_received)r.   r   rk   rl   Údatas        r/   Ú
set_parserzResponseHandler.set_parserÏ   sS   € ð  ˆŒØ%ˆÔØ!1ˆÔà×ÑÔà�:Š:Ø#Ÿz™z¨3ÐˆD�$”*Ø×Ñ˜tÕ$ð 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_headersrr   rs   rt   ru   rv   rw   rx   ry   rz   r{   c       
         óæ   — || _         || _        || _        t        | | j                  ||t
        | ||||	|
¬«      | _        | j                  r&| j                  dc}| _        | j                  |«       y y )N)rr   Úpayload_exceptionÚresponse_with_bodyrt   ru   ry   rz   r{   r   )	r$   r)   r+   r   r1   r
   rQ   r(   rn   )r.   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   ro   s               r/   Úset_response_paramsz#ResponseHandler.set_response_paramsä   s~   € ð *ˆÔà)ˆÔà'=ˆÔ$ä)ØØ�J‰JØØÜ0Ø#/Ð/Ø)Ø+Ø'Ø)Ø#ô
ˆŒð �:Š:Ø#Ÿz™z¨3ÐˆD�$”*Ø×Ñ˜tÕ$ð r   c                 ó`   — | j                   �"| j                   j                  «        d | _         y y r6   )r*   Úcancelr3   s    r/   rE   zResponseHandler._drop_timeout
  s-   € Ø×$Ñ$Ð0Ø×%Ñ%×,Ñ,Ô.Ø(,ˆDÕ%ð 1r   c                 óÒ   — | j                   }| j                  �| j                  j                  «        |r,| j                  j	                  || j
                  «      | _        y d | _        y r6   )r)   r*   r�   r1   Ú
call_laterÚ_on_read_timeout)r.   Útimeouts     r/   rg   z#ResponseHandler._reschedule_timeout  sZ   € Ø×$Ñ$ˆØ×$Ñ$Ð0Ø×%Ñ%×,Ñ,Ô.áØ(,¯
©
×(=Ñ(=Ø˜×.Ñ.ó)ˆDÕ%ð )-ˆDÕ%r   c                 ó$   — | j                  «        y r6   )rg   r3   s    r/   Ústart_timeoutzResponseHandler.start_timeout  s   € Ø× Ñ Õ"r   c                 ó   — | j                   S r6   ©r)   r3   s    r/   rv   zResponseHandler.read_timeout  s   € à×!Ñ!Ð!r   c                 ó   — || _         y r6   r‰   )r.   rv   s     r/   rv   zResponseHandler.read_timeout"  s
   € à)ˆÕr   c                 ó‚   — t        d«      }| j                  |«       | j                  �t        | j                  |«       y y )Nz#Timeout on reading data from socket)r   r   r#   )r.   rM   s     r/   r„   z ResponseHandler._on_read_timeout&  s8   € Ü Ð!FÓGˆØ×Ñ˜3ÔØ�=‰=Ð$Ü˜$Ÿ-™-¨Õ-ð %r   ro   c                 ón  — |r| j                  «        | j                  �^| j                  �| j                  «        | j                  j                  |«      \  }}|r!d | _        d | _        |r| j                  |«       y | j                  s| j                  €| xj                  |z  c_        y 	 | j                  j                  |«      \  }}}|| _        d }|D ]j  \  }	}|	j&                  rd| _        || _        | j*                  s|	j                  t,        v r| j                  |	t.        fd«       ŒW| j                  |	|fd«       Œl |�4|t.        ur|j1                  | j2                  «       n| j3                  «        |r|r| j                  |«       y y y # t        $ rš}| j                  �| j                  j                  «        t        |t        «      s‚ t        |t        «      r-t        |j                  |j                   |j"                  ¬«      }n
t        «       }| j%                  ||«       Y d }~y d }~ww xY w)N)ÚcodeÚmessageÚheadersTr   )rg   r%   r&   Ú	feed_datar#   rn   r7   rQ   r(   ÚBaseExceptionrC   rD   rR   rO   r   r�   rŽ   r�   r   r>   r"   r$   r   r   Úon_eofrE   )
r.   ro   ÚeofÚtailÚmessagesr8   r\   rM   rk   rŽ   s
             r/   rn   zResponseHandler.data_received,  s  € ñ Ø×$Ñ$Ô&ð ×ÑÐ+Ø×%Ñ%Ð1Ø×&Ñ&Ô(Ø×,Ñ,×6Ñ6°tÓ<‰IˆC�ÙØ $�”Ø'+�Ô$áØ×&Ñ& tÔ,Øà�>Š>˜TŸ\™\Ð1à�JŠJ˜$Ñ�JØð	Ø'+§|¡|×'=Ñ'=¸dÓ'CÑ$ˆH�h ð* "ˆŒà'+ˆØ (ò 		6ÑˆG�WØ×#Ò#Ø%)�Ô"à#ˆDŒMà×!Ò! W§\¡\Ô5LÑ%LØ—‘ ¬Ð7¸Õ;à—‘ ¨Ð1°1Õ5ð		6ð Ðð
 œmÑ+Ø—‘˜t×1Ñ1Õ2à×"Ñ"Ô$á™Ø×Ñ˜tÕ$ð ˆ8øôY ò 	Ø�~‰~Ð)ð —‘×$Ñ$Ô&Ü˜n¬iÔ8Øä˜.Ô*=Ô>Ü)Ø'×,Ñ,Ø*×2Ñ2Ø*×2Ñ2ô‘ô *Ó+�Ø×Ñ˜s NÔ3Üûð%	ús   Â,F Æ	H4ÆBH/È/H4)r   N)Tr6   ))Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚasyncioÚAbstractEventLoopr!   ÚpropertyÚFuturer4   r:   r8   r>   rA   rD   rI   rL   r‘   rW   ra   rc   rf   r   r   r   r   rp   r   r   ÚfloatÚintr   rE   rg   r‡   rv   Úsetterr„   Úbytesrn   Ú__classcell__)r_   s   @r/   r   r      sJ  ø„ ÙBð-˜W×6Ñ6ð -¸4ó -ð, ð˜˜wŸ~™~¨dÑ3Ñ3ò ó ðð" ð˜$ò ó ðð ð	
˜dò 	
ó ð	
ó"ó!ó!ðN˜dó NðI. =°4Ñ#7ð I.¸Dõ I.óVõñ'¨Dð '¸Dõ 'ð $1ñ.àð.ð !ð.ð 
õ	.ð 7;ñ	%àð%ð ð%ð # 2 t 8Ñ,¨tÑ3ð	%ð
 
ó%ð0 *.Ø"Ø$Ø $Ø%)Ø.Ø()Ø!Ø"Øò$%ð   $Ñ&ð$%ð ð	$%ð
 ð$%ð ð$%ð ˜d‘lð$%ð ð$%ð !&ð$%ð ð$%ð ð$%ð ð$%ð 
ó$%óL-ó

-ó#ð ð"˜e d™lò "ó ð"ð ×Ñð*¨°©ð *¸$ò *ó ð*ó.ðH% %ð H%¨D÷ H%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   r/   ú<module>r­      sS   ðÛ Ý ß  å '÷õ ÷÷ ÷ 9Ý 0ß ;Ñ ;ôZ%�l I¨eÐ4FÈÐ4TÑ.UÑ$Võ Z%r   