Ë
    rPê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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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$jJ                  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| _        y )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     úY/home/oem/CyberBrain26-unified/.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©r0   s    r1   ÚclosedzResponseHandler.closed5   s4   € ð �<‰<Ð¨×(DÒ(DØŸ:™:×3Ñ3Ó5ˆDŒLØ�|‰|Ðr   c                 ó   — | j                   S ©N)Ú	_upgradedr5   s    r1   ÚupgradedzResponseHandler.upgradedG   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 r8   )	Úboolr"   r#   Úis_eofr9   Ú
_exceptionr%   Ú_bufferr(   r5   s    r1   Úshould_closezResponseHandler.should_closeK   sŽ   € äØ×Ñò Ø—‘ TÐ)ÒH°$·-±-×2FÑ2FÓ2HÐ.Hòà�~‰~òð �‰ dÐ*òð ×#Ñ#¨4Ð/ò	ð
 �|‰|òð �z‰zó
ð 	
r   c                 ó   — d| _         y ©NT)r"   r5   s    r1   Úforce_closezResponseHandler.force_closeW   s
   € Ø!ˆÕr   c                 óŒ   — d | _         | j                  }|�/|j                  «        d | _        d | _        | j	                  «        y y r8   )r>   Ú	transportÚcloser#   Ú_drop_timeout©r0   rE   s     r1   rF   zResponseHandler.closeZ   óA   € ØˆŒØ—N‘Nˆ	ØÐ Ø�O‰OÔØ!ˆDŒNØ ˆDŒMØ×ÑÕ ð	 !r   c                 óŒ   — d | _         | j                  }|�/|j                  «        d | _        d | _        | j	                  «        y y r8   )r>   rE   Úabortr#   rG   rH   s     r1   rK   zResponseHandler.abortc   rI   r   c                 óX   — | j                   d uxr | j                   j                  «        S r8   )rE   Ú
is_closingr5   s    r1   Úis_connectedzResponseHandler.is_connectedl   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| _        d| _        d| _        t0        ‰	| �e  |«       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/   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‘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$   ÂE8Â:F Å8FÆ	GÆ:GÇGc                 ó$   — | j                  «        y r8   )rG   r5   s    r1   Úeof_receivedzResponseHandler.eof_received¼   s   € à×ÑÕr   c                 óB   •— t         ‰| �  «        | j                  «        y r8   )rY   Úpause_readingrG   )r0   rb   s    €r1   rf   zResponseHandler.pause_readingÀ   s   ø€ Ü‰ÑÔØ×ÑÕr   TÚresume_parserc                 ó|   •— | j                   }t        ‰| �	  |«       |r| j                  s| j	                  «        y y y r8   )rW   rY   Úresume_readingrX   Ú_reschedule_timeout)r0   rg   Ú
was_pausedrb   s      €r1   ri   zResponseHandler.resume_readingÄ   s;   ø€ Ø×)Ñ)ˆ
Ü‰Ñ˜}Ô-ñ ˜d×1Ò1Ø×$Ñ$Õ&ð 2ˆ:r   c                 óf  — | j                   r%| j                   dc}| _         | j                  |«       t        | j                   «      xr" t        | j                   «      | j                  k\  }| j
                  r|s| j                  «        | j                  s| j
                  r| j                  «        y y )Nr   )	r(   Údata_receivedr<   Úlenr*   rX   Ú_resume_reading_for_bufferrW   rG   )r0   ÚdataÚstill_bounds      r1   Ú_drain_tailzResponseHandler._drain_tailÌ   sŠ   € Ø�:Š:Ø#Ÿz™z¨3ÐˆD�$”*Ø×Ñ˜tÔ$ä˜4Ÿ:™:Ó&ÒP¬3¨t¯z©z«?¸d×>PÑ>PÑ+PˆØ×Ò¡{Ø×+Ñ+Ô-Ø×Ò 4×#6Ò#6ð ×ÑÕ ð $7r   Ú	exc_causec                 óT   •— d| _         | j                  «        t        ‰| �  ||«       y 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                 ón   — || _         || _        || _        | j                  «        | j	                  «        y r8   )r#   r%   r&   rG   rr   )r0   r   ru   rv   s       r1   Ú
set_parserzResponseHandler.set_parserâ   s3   € ð  ˆŒØ%ˆÔØ!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        | ||||	|
¬«      | _        | j                  «        y )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õ   sf   € ð *ˆÔà)ˆÔØ)ˆÔà'=ˆÔ$ä)ØØ�J‰JØØÜ0Ø#/Ð/Ø)Ø+Ø'Ø)Ø#ô
ˆŒð 	×ÑÕr   c                 ó`   — | j                   �"| j                   j                  «        d | _         y y r8   )r,   Úcancelr5   s    r1   rG   zResponseHandler._drop_timeout  s-   € Ø×$Ñ$Ð0Ø×%Ñ%×,Ñ,Ô.Ø(,ˆDÕ%ð 1r   c                 óÒ   — | j                   }| j                  �| j                  j                  «        |r,| j                  j	                  || j
                  «      | _        y d | _        y r8   )r+   r,   r‰   r3   Ú
call_laterÚ_on_read_timeout)r0   Útimeouts     r1   rj   z#ResponseHandler._reschedule_timeout  sZ   € Ø×$Ñ$ˆØ×$Ñ$Ð0Ø×%Ñ%×,Ñ,Ô.áØ(,¯
©
×(=Ñ(=Ø˜×.Ñ.ó)ˆDÕ%ð )-ˆDÕ%r   c                 ó$   — | j                  «        y 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                 ó   — || _         y r8   r‘   )r0   r~   s     r1   r~   zResponseHandler.read_timeout2  s
   € à)ˆÕr   c                 ó‚   — t        d«      }| j                  |«       | j                  �t        | j                  |«       y y )Nz#Timeout on reading data from socket)r   r   r#   )r0   rO   s     r1   rŒ   z ResponseHandler._on_read_timeout6  s8   € Ü Ð!FÓGˆØ×Ñ˜3ÔØ�=‰=Ð$Ü˜$Ÿ-™-¨Õ-ð %r   rp   c                 ó$  — | j                   ry |r| j                  «        | j                  �R| j                  �| j                  «        | j                  j	                  |«      \  }}|rd | _        d | _        d| _         y | j                  s| j                  €p| xj                  |z  c_        | j                  sN| j                  rBt        | j                  «      | j                  k\  r | j                  «        | j                  «        y 	 | j                  j	                  |«      \  }}}|| _        d }	|D ]j  \  }
}	|
j0                  rd| _        |	| _        | j4                  s|
j(                  t6        v r| j	                  |
t8        fd«       ŒW| j	                  |
|	fd«       Œl |	�4|	t8        ur|	j;                  | j                  «       n| j                  «        |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)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<  sJ  € Ø×&Ò&ð ñ Ø×$Ñ$Ô&ð ×ÑÐ+Ø×%Ñ%Ð1Ø×&Ñ&Ô(ð !%× 4Ñ 4× >Ñ >¸tÓ DÑˆN˜AÙØ $�”Ø'+�Ô$Ø.2�Ô+Øà�>Š>˜TŸ\™\Ð1à�JŠJ˜$Ñ�Jð
 ×'Ò'Ø—J’JÜ˜Ÿ
™
“O t×'9Ñ'9Ò9à×.Ñ.Ô0à×"Ñ"Ô$Øð	Ø'+§|¡|×'=Ñ'=¸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   ÄG, Ç,	JÇ5BJ
Ê
J)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      sO  ø„ ÙBð-˜W×6Ñ6ð -¸4ó -ð0 ð˜˜wŸ~™~¨dÑ3Ñ3ò ó ðð" ð˜$ò ó ðð ð	
˜dò 	
ó ð	
ó"ó!ó!ðN˜dó NðK. =°4Ñ#7ð K.¸Dõ K.óZõñ'¨Dð '¸Dõ 'ó!ð  $1ñ.àð.ð !ð.ð 
õ	.ð 7;ñ	àðð ðð # 2 t 8Ñ,¨tÑ3ð	ð
 
óð, *.Ø"Ø$Ø $Ø%)Ø.Ø()Ø!Ø"Øò#ð   $Ñ&ð#ð ð	#ð
 ð#ð ð#ð ˜d‘lð#ð ð#ð !&ð#ð ð#ð ð#ð ð#ð 
ó#óJ-ó

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