
    rp0jY1              	           S SK r S SKJr  S SKJrJr  SSKJr  SSKJ	r	J
r
JrJrJr  SSKJrJrJrJrJrJr  SSKJrJr  SS	KJr  SS
KJrJrJr   " S S\\\\\4      5      rg)    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                   j  ^  \ rS rSrSrS\R                  SS4S jr\SS\R                  S   -  4S j5       r
\S\4S j5       r\S\4S	 j5       rS4S
 jrS4S jrS4S jrS\4S jrS\S-  SS4U 4S jjrS4S jrS4U 4S jjrS5S\SS4U 4S jjjr\4S\S\SS4U 4S jjjr S6S\S\S\/ S4   S-  SS4S jjrSSSSS\SSSSS.
S \S-  S!\S"\S#\S$\S-  S%\S&\S'\S(\S)\SS4S* jjr S4S+ jr!S4S, jr"S4S- jr#\S\S-  4S. j5       r$\$RJ                  S$\S-  SS4S/ j5       r$S4S0 jr&S1\'SS4S2 jr(S3r)U =r*$ )7ResponseHandler   z8Helper class to adapt between Protocol and StreamReader.loopreturnNc                    [         R                  " XS S9  [        R                  " X5        SU l        S U l        SU l        S U l        S U l        S U l        SU l	        S U l
        S U l        SU l        S U l        SU l        g )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     N/home/wildlama/miniconda3/lib/python3.13/site-packages/aiohttp/client_proto.pyr"   ResponseHandler.__init__   s|    dd;4&"-1"#<@
+/@D!56$48',$r    c                     U R                   c0  U R                  (       d  U R                  R                  5       U l         U R                   $ )a  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    r0   closedResponseHandler.closed3   s4     <<(D(D::335DL||r    c                     U R                   $ N)	_upgradedr5   s    r0   upgradedResponseHandler.upgradedE   s    ~~r    c                 h   [        U R                  =(       d    U R                  S L=(       a    U R                  R                  5       (       + =(       d\    U R                  =(       dI    U R
                  S L=(       d4    U R                  S L=(       d    U R                  =(       d    U R                  5      $ r9   )	boolr#   r$   is_eofr:   
_exceptionr&   _bufferr)   r5   s    r0   should_closeResponseHandler.should_closeI   s     T)H$--2F2F2H.H~~ d* ##4/	
 || zz
 	
r    c                     SU l         g NT)r#   r5   s    r0   force_closeResponseHandler.force_closeU   s
    !r    c                     S U l         U R                  nUb/  UR                  5         S U l        S U l        U R	                  5         g g r9   )r@   	transportcloser$   _drop_timeoutr/   rI   s     r0   rJ   ResponseHandler.closeX   A    NN	 OO!DN DM 	 !r    c                     S U l         U R                  nUb/  UR                  5         S U l        S U l        U R	                  5         g g r9   )r@   rI   abortr$   rK   rL   s     r0   rP   ResponseHandler.aborta   rN   r    c                 j    U R                   S L=(       a    U R                   R                  5       (       + $ r9   )rI   
is_closingr5   s    r0   is_connectedResponseHandler.is_connectedj   s&    ~~T)M$..2K2K2M.MMr    excc                   > SU l         U R                  5         UnUnUS L nU R                  bG  U(       a  [        U R                  S 5        O)Uc   e[	        U R                  [        SU< 35      U5        U R                  b2  [        [        5         U R                  R                  5         S S S 5        S nU R                  b   U R                  R                  5       nU R                  5       (       dc  [        U[        5      (       a  [!        UR"                  6 nU(       a  [%        U5      nU(       a  [&        OUnUc   eUc   eU R	                  X85        SU l        S U l
        S U l        S U l        SU l        [,        T	U ]]  U5        g ! , (       d  f       N= f! [         aN  nU R                  b6  SU< 3nU(       d	  U< SU< 3n[	        U R                  [        U5      U5         S nAGNS nAff = f)NTzConnection lost: z#Response payload is not completed: z. F)r.   rK   r-   r   r   r   r&   r   	Exceptionfeed_eof_parserr$   r
   r?   
isinstanceOSErrorr	   argsr   r   r#   _reading_pausedsuperconnection_lost)
r/   rV   original_connection_errorreraised_excconnection_closed_cleanlyuncompletedunderlying_excclient_payload_exc_msgunderlying_non_eof_exc	__class__s
            r0   r`   ResponseHandler.connection_lostm   s   '+$$'!0$=$E!<<# )4<<.0<<<LL)+,E+IJ . +)$$$--/ % <<#"ll335" {{}}3W==,.G.L.LM(6{C
 - . #
 *555+++|D!#$-[ %$  ==,=n=PQ + 5598<> / "*+AB&s%   F	F 	
F
G2$AG--G2c                 $    U R                  5         g r9   )rK   r5   s    r0   eof_receivedResponseHandler.eof_received   s    r    c                 B   > [         TU ]  5         U R                  5         g r9   )r_   pause_readingrK   )r/   rh   s    r0   rn   ResponseHandler.pause_reading   s    r    Tresume_parserc                 D   > [         TU ]  U5        U R                  5         g r9   )r_   resume_reading_reschedule_timeout)r/   rp   rh   s     r0   rr   ResponseHandler.resume_reading   s    }-  "r    	exc_causec                 R   > SU l         U R                  5         [        TU ]  X5        g rE   )r#   rK   r_   r   )r/   rV   ru   rh   s      r0   r   ResponseHandler.set_exception   s&    
 "c-r    r   payloaddata_received_cbc                     X l         Xl        X0l        U R                  5         U R                  (       a%  U R                  Sso@l        U R                  U5        g g )Nr    )r$   r&   r'   rK   r)   data_received)r/   r   rx   ry   datas        r0   
set_parserResponseHandler.set_parser   sK      %!1::#zz3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_headersr   r   r   r   r   r   r   r   r   r   c       
             X l         XPl        Xpl        [        U U R                  UU[
        U(       + UUUU	U
S9U l        U R                  (       a%  U R                  Ssol        U R                  U5        g g )N)r   payload_exceptionresponse_with_bodyr   r   r   r   r   r    )	r%   r*   r,   r   r3   r
   rZ   r)   r{   )r/   r   r   r   r   r   r   r   r   r   r   r|   s               r0   set_response_params#ResponseHandler.set_response_params   sv     *)'=$)JJ0#//)+')#
 ::#zz3D*t$ r    c                 b    U R                   b"  U R                   R                  5         S U l         g g r9   )r+   cancelr5   s    r0   rK   ResponseHandler._drop_timeout  s-    $$0%%,,.(,D% 1r    c                     U R                   nU R                  b  U R                  R                  5         U(       a+  U R                  R	                  XR
                  5      U l        g S U l        g r9   )r*   r+   r   r3   
call_later_on_read_timeout)r/   timeouts     r0   rs   #ResponseHandler._reschedule_timeout  sX    $$$$0%%,,.(,

(=(=..)D% )-D%r    c                 $    U R                  5         g r9   )rs   r5   s    r0   start_timeoutResponseHandler.start_timeout  s      "r    c                     U R                   $ r9   r*   r5   s    r0   r   ResponseHandler.read_timeout  s    !!!r    c                     Xl         g r9   r   )r/   r   s     r0   r   r      s    )r    c                     [        S5      nU R                  U5        U R                  b  [        U R                  U5        g g )Nz#Timeout on reading data from socket)r   r   r$   )r/   rV   s     r0   r    ResponseHandler._on_read_timeout$  s8     !FG3==$$--- %r    r|   c                    U(       a  U R                  5         U R                  bh  U R                  b  U R                  5         U R                  R                  U5      u  p#U(       a&  S U l        S U l        U(       a  U R                  U5        g U R                  (       d  U R                  c  U =R                  U-  sl        g  U R                  R                  U5      u  pEnXPl        S nU Hu  u  pU	R&                  (       a  SU l        Xl        U R*                  (       d  U	R                  [,        ;   a  U R                  U	[.        4S5        Mb  U R                  X4S5        Mw     Ub5  U[.        La  UR1                  U R2                  5        OU R3                  5         U(       a  U(       a  U R                  U5        g g g ! [         a  nU R                  b  U R                  R                  5         [        U[        5      (       d  e [        U[        5      (       a*  [        UR                  UR                   UR"                  S9nO
[        5       nU R%                  Xv5         S nAg S nAff = f)N)codemessageheadersTr   )rs   r&   r'   	feed_datar$   r{   r:   rZ   r)   BaseExceptionrI   rJ   r[   rX   r   r   r   r   r   rB   r#   r%   r   r   on_eofrK   )
r/   r|   eoftailmessagesr;   re   rV   rx   r   s
             r0   r{   ResponseHandler.data_received*  s    $$& +%%1&&(,,66t<IC $'+$&&t,>>T\\1JJ$J	'+||'='=d'C$H* "'+ (G##%)"#M!!W\\5L%L7;115 !) 
 m+t112""$t$ 8Y  	~~) $$&ni88.*=>>)',,*22*22 *+s3%	s   F= =
I(BI##I()r-   r.   r'   r@   rZ   r$   r&   r*   r+   r^   r#   r%   r)   r,   r(   r:   rI   )r   N)Tr9   )+__name__
__module____qualname____firstlineno____doc__asyncioAbstractEventLoopr"   propertyFuturer6   r>   r;   rB   rF   rJ   rP   rT   r   r`   rk   rn   rr   r   r   r   r   r}   r   r   floatintr   rK   rs   r   r   setterr   bytesr{   __static_attributes____classcell__)rh   s   @r0   r   r      sZ   B-W66 -4 -, w~~d33  " $   	
d 	
 	
"!!Nd NI.=4#7 I.D I.V#D #D # # $1.. !. 
	. . 7;	%% % #2t8,t3	%
 
%0 *."$ $%).()!"$%  $&$% 	$%
 $% $% dl$% $% !&$% $% $% $% 
$%L-

-# "edl " " * *$ * *.H%% H%D H% 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    r0   <module>r      sS        '   9 0 ; ;X%lIe4F4T.U$V X%r    