
    ՟f6                        d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZ d dl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 ddlmZmZ dd	lm Z  d
dl!m"Z"  ejF                  d      Z$eej4                  ejJ                  ejL                  f   Z' G d de jP                        Z) G d de"      Z* G d d      Z+ G d de      Z,y)    N)TracebackType)AnyAsyncIterableAsyncIteratorListOptionalTupleTypeUnion   )AsyncNetworkStream)ConnectionNotAvailableLocalProtocolErrorRemoteProtocolError
WriteErrormap_exceptions)OriginRequestResponse)	AsyncLockAsyncShieldCancellation)Trace   )AsyncConnectionInterfacezhttpcore.http11c                       e Zd ZdZdZdZdZy)HTTPConnectionStater   r   r      N)__name__
__module____qualname__NEWACTIVEIDLECLOSED     Q/var/www/cvtools/html/venv/lib/python3.12/site-packages/httpcore/_async/http11.pyr   r   +   s    
CFDFr&   r   c                      e Zd ZdZdZ	 d!dededee   ddfdZ	d	e
defd
Zd	e
ddfdZd	e
ddfdZ	 d!dej                   dee   ddfdZd	e
deeeeeeeef      ef   fdZd	e
dee   fdZ	 d!dee   deej                   eej6                     f   fdZd"dZd"dZdedefdZ defdZ!defdZ"defdZ#defdZ$de%fdZ&de%fdZ'd#dZ(	 	 	 d$deee)      dee)   dee*   ddfd Z+y)%AsyncHTTP11Connectioni   i  Noriginstreamkeepalive_expiryreturnc                     || _         || _        || _        d | _        t        j
                  | _        t               | _        d| _	        t        j                  t        j                  | j                        | _        y )Nr   )our_rolemax_incomplete_event_size)_origin_network_stream_keepalive_expiry
_expire_atr   r!   _stater   _state_lock_request_counth11
ConnectionCLIENTMAX_INCOMPLETE_EVENT_SIZE
_h11_state)selfr*   r+   r,   s       r'   __init__zAsyncHTTP11Connection.__init__6   sa     %2B+/)--$;..ZZ&*&D&D
r&   requestc           	      h  K   | j                  |j                  j                        s/t        d|j                  j                   d| j                         | j
                  4 d {    | j                  t        j                  t        j                  fv r2| xj                  dz  c_
        t        j                  | _        d | _        n
t               d d d       d {    	 d|i}	 t        dt        ||      4 d {   } | j                   di | d {    d d d       d {    t        dt        ||      4 d {   } | j"                  di | d {    d d d       d {    t        dt        ||      4 d {   } | j&                  di | d {   \  }}}}}||||f|_        d d d       d {    | j*                  }	dk(  s|j,                  d	k(  rd
|cxk  rdk  rn nt/        |	      }	t1        |t3        | |      |	d      S 7 7 E# 1 d {  7  sw Y   VxY w7 =7 &7 # 1 d {  7  sw Y   *xY w7 7 7 # 1 d {  7  sw Y   xY w# t$        $ r Y w xY w7 7 7 # 1 d {  7  sw Y   xY w# t4        $ r}
t7               5  t        dt        |      4 d {  7  }| j9                          d {  7   d d d       d {  7   n# 1 d {  7  sw Y   nxY wd d d        |
# 1 sw Y   |
xY wd }
~
ww xY ww)NzAttempted to send request to z on connection to r   r?   send_request_headerssend_request_bodyreceive_response_headerse   s   CONNECT   i,  )http_versionreason_phrasenetwork_stream)statusheaderscontent
extensionsresponse_closedr%   )can_handle_requesturlr*   RuntimeErrorr1   r6   r5   r   r!   r#   r7   r"   r4   r   r   logger_send_request_headers_send_request_bodyr   _receive_response_headersreturn_valuer2   methodAsyncHTTP11UpgradeStreamr   HTTP11ConnectionByteStreamBaseExceptionr   _response_closed)r=   r?   kwargstracerF   rI   rG   rJ   trailing_datarH   excs              r'   handle_async_requestz*AsyncHTTP11Connection.handle_async_requestH   s4    &&w{{'9'9:/0B0B/C Dll^% 
 ## 	/ 	/{{2668K8P8PQQ##q(#188"&,..	/ 	/8	)F *FGV ? ?4$44>v>>>? ? !!4fgvN < <RW1$11;F;;;< < *FGV   9$88B6BB !! !!	&" " "11N #:-C64GC4G!9.-!X24A$0%2&4		 	e	/ 	/ 	/ 	/ 	/? ?? ? ? ?<;< < < <   C   F  	(* 2 !2FGD 2 2//1112 2 2 2 22 I2 I		s  A%L2'H!(L2+A)H'L2H$ L2%J$ *I9  H=I9 II II9 *I+I9 II9 	I#I I#$I9 /I!0I9 4J$ 
J	J$ J$J%J:J$ JAJ$  L2$L2'H:-H0.H:5L2=I9  II9 III	I9 I#!I9 #I6)I,*I61I9 9	JJ$ JJ$ JJ$ J!JJ!J$ $	L/-
L*7LK
LK>&K)
'K>,L7K:8L>LLLL
L*L'	"L**L//L2c                   K   |j                   j                  di       }|j                  dd       }t        t        j                  t        i      5  t        j
                  |j                  |j                  j                  |j                        }d d d        | j                  |       d {    y # 1 sw Y   %xY w7 w)Ntimeoutwrite)rV   targetrJ   ra   )rL   getr   r8   r   r   rV   rO   rc   rJ   _send_eventr=   r?   timeoutsra   events        r'   rR   z+AsyncHTTP11Connection._send_request_headers   s     %%)))R8,,w-S335GHI 	KK~~{{))E	 ug666	 	 	7s+   ACAB5C/C0C5B>:Cc                   K   |j                   j                  di       }|j                  dd       }t        |j                  t              sJ |j                  2 3 d {   }t        j                  |      }| j                  ||       d {    ;7 67 6 | j                  t        j                         |       d {  7   y w)Nra   rb   )datard   )	rL   re   
isinstancer+   r   r8   Datarf   EndOfMessage)r=   r?   rh   ra   chunkri   s         r'   rS   z(AsyncHTTP11Connection._send_request_body   s     %%)))R8,,w-'..-888">> 	; 	;%HH%(E""5'":::	;: * s//17CCCsH   ACBBB!-CBCBC)CCCri   ra   c                    K   | j                   j                  |      }|&| j                  j                  ||       d {    y y 7 w)Nrd   )r<   sendr2   rb   )r=   ri   ra   bytes_to_sends       r'   rf   z!AsyncHTTP11Connection._send_event   sI      ,,U3$&&,,]G,LLL %Ls   >A	 AA	c                   K   |j                   j                  di       }|j                  dd       }	 | j                  |       d {   }t        |t        j
                        rn+t        |t        j                        r|j                  dk(  rn`d|j                  z   }|j                  j                         }| j                  j                  \  }}||j                  |j                  ||fS 7 w)Nra   readrd   rD   s   HTTP/)rL   re   _receive_eventrl   r8   r   InformationalResponsestatus_coderF   rJ   	raw_itemsr<   r]   reason)	r=   r?   rh   ra   ri   rF   rJ   r]   _s	            r'   rT   z/AsyncHTTP11Connection._receive_response_headers   s      %%)))R8,,vt,--g->>E%.5#";";<%%,   %"4"44 --))+??88qU..g}TT# ?s   AC1C/B(C1c                ^  K   |j                   j                  di       }|j                  dd       }	 | j                  |       d {   }t        |t        j
                        rt        |j                         n+t        |t        j                  t        j                  f      ry y7 cw)Nra   rt   rd   )
rL   re   ru   rl   r8   rm   bytesrk   rn   PAUSEDrg   s        r'   _receive_response_bodyz,AsyncHTTP11Connection._receive_response_body   s     %%)))R8,,vt,--g->>E%*EJJ''EC$4$4cjj#AB >s   AB-B+A$B-c                   K   	 t        t        j                  t        i      5  | j                  j	                         }d d d        t        j
                  u r| j                  j                  | j                  |       d {   }|dk(  r4| j                  j                  t        j                  k(  rd}t        |      | j                  j                  |       n|S # 1 sw Y   xY w7 hw)Nrd   r&   z/Server disconnected without sending a response.)r   r8   r   r<   
next_event	NEED_DATAr2   rt   READ_NUM_BYTEStheir_stateSEND_RESPONSEreceive_data)r=   ra   ri   rk   msgs        r'   ru   z$AsyncHTTP11Connection._receive_event   s      !8!8:M NO 52245 %!1166'' 7   3;4??#>#>#BSBS#SKC-c22,,T2 1 5 5s)   !C-CAC-C+AC-C($C-c                   K   | j                   4 d {    | j                  j                  t        j                  u r| j                  j
                  t        j                  u rdt        j                  | _        | j                  j                          | j                  At        j                         }|| j                  z   | _        n| j                          d {    d d d       d {    y 7 7 7 	# 1 d {  7  sw Y   y xY wwN)r6   r<   	our_stater8   DONEr   r   r#   r5   start_next_cycler3   time	monotonicr4   aclose)r=   nows     r'   rZ   z&AsyncHTTP11Connection._response_closed   s     ## 	$ 	$))SXX5OO//388;166002))5..*C&)D,B,B&BDOkkm##	$ 	$ 	$ $	$ 	$ 	$ 	$sW   DC1DCC7C3C7 D+C5,D3C75D7D	=D >D	Dc                 ~   K   t         j                  | _        | j                  j	                          d {    y 7 wr   )r   r$   r5   r2   r   r=   s    r'   r   zAsyncHTTP11Connection.aclose  s-      *00""))+++s   3=;=c                      || j                   k(  S r   )r1   r=   r*   s     r'   rN   z(AsyncHTTP11Connection.can_handle_request  s    %%r&   c                 <    | j                   t        j                  k(  S r   r5   r   r#   r   s    r'   is_availablez"AsyncHTTP11Connection.is_available  s    
 {{16666r&   c                     t        j                         }| j                  d uxr || j                  kD  }| j                  t        j
                  k(  xr | j                  j                  d      }|xs |S )Nis_readable)r   r   r4   r5   r   r#   r2   get_extra_info)r=   r   keepalive_expiredserver_disconnecteds       r'   has_expiredz!AsyncHTTP11Connection.has_expired  sm    nn OO47QC$//<Q KK.333 C$$33MB 	
 !7$77r&   c                 <    | j                   t        j                  k(  S r   r   r   s    r'   is_idlezAsyncHTTP11Connection.is_idle'  s    {{16666r&   c                 <    | j                   t        j                  k(  S r   )r5   r   r$   r   s    r'   	is_closedzAsyncHTTP11Connection.is_closed*  s    {{18888r&   c                 |    t        | j                        }|d| j                  j                   d| j                   S )Nz, HTTP/1.1, , Request Count: )strr1   r5   namer7   r   s     r'   infozAsyncHTTP11Connection.info-  sA    T\\"jT[[%5%5$6 7"1124	
r&   c           	          | j                   j                  }t        | j                        }d| d|d| j                  j
                   d| j                   d	S )N<z [z, r   z]>)	__class__r   r   r1   r5   r   r7   )r=   
class_namer*   s      r'   __repr__zAsyncHTTP11Connection.__repr__4  sZ    ^^,,
T\\"
|2fZr$++*:*:); <"112"6	
r&   c                    K   | S wr   r%   r   s    r'   
__aenter__z AsyncHTTP11Connection.__aenter__?  s     s   exc_type	exc_value	tracebackc                 @   K   | j                          d {    y 7 wr   )r   )r=   r   r   r   s       r'   	__aexit__zAsyncHTTP11Connection.__aexit__B  s      kkms   r   r-   N)r-   r)   )NNN),r   r   r    r   r;   r   r   r   floatr>   r   r   r_   rR   rS   r8   Eventrf   r	   r|   intr   rT   r   r~   r   r
   r}   ru   rZ   r   boolrN   r   r   r   r   r   r   r   r   rY   r   r   r%   r&   r'   r)   r)   2   s   N * -1	

 #
 #5/	

 

$G' Gh GV
77 
7t 
7	D 	DD 	D <@MYYM)1%M	MUU	uc5$uUE\':";UB	CU4	G 	e@T 	 *.	syy$szz**	+:$ ,& &D &7d 78T 87 794 9
c 

# 

 37-1-1	4./ M* M*	
 
r&   r)   c                   :    e Zd ZdededdfdZdee   fdZddZ	y)	rX   
connectionr?   r-   Nc                 .    || _         || _        d| _        y )NF)_connection_request_closed)r=   r   r?   s      r'   r>   z#HTTP11ConnectionByteStream.__init__L  s    %r&   c                  K   d| j                   i}	 t        dt        | j                   |      4 d {     | j                  j                  di |2 3 d {   }| 7 /7 6 d d d       d {  7   y # 1 d {  7  sw Y   y xY w# t
        $ r@}t               5  | j                          d {  7   d d d        |# 1 sw Y   |xY wd }~ww xY ww)Nr?   receive_response_bodyr%   )r   r   rQ   r   r~   rY   r   r   )r=   r[   ro   r^   s       r'   	__aiter__z$HTTP11ConnectionByteStream.__aiter__Q  s     T]]+
	4fdmmVT    #J4#3#3#J#J#TV#T    %K  #T           	 )* $kkm##$I$I	s   C B A"B A9A&A$A&A9"B $A&&A9'B 2A53B 8C9B?B BB 
CB 	C
C!C5B86C;
CC	
CCCc                   K   | j                   s^d| _         t        dt        | j                        4 d {    | j                  j                          d {    d d d       d {    y y 7 87 7 
# 1 d {  7  sw Y   y xY ww)NTrM   )r   r   rQ   r   r   rZ   r   s    r'   r   z!HTTP11ConnectionByteStream.aclose_  sz     ||DL.F : :&&77999: : : :9: : : :sV   3B	A.B	A4A0A4B	'A2(B	0A42B	4B:A=;BB	r   )
r   r   r    r)   r   r>   r   r|   r   r   r%   r&   r'   rX   rX   K  s3    #8 7 t 
u!5 :r&   rX   c            	           e Zd ZdededdfdZddedee   defdZ	dd	edee   ddfd
Z
ddZ	 	 ddej                  dee   dee   defdZdedefdZy)rW   r+   leading_datar-   Nc                      || _         || _        y r   )_stream_leading_data)r=   r+   r   s      r'   r>   z!AsyncHTTP11UpgradeStream.__init__g  s    )r&   	max_bytesra   c                    K   | j                   r%| j                   d | }| j                   |d  | _         |S | j                  j                  ||       d {   S 7 wr   )r   r   rt   )r=   r   ra   buffers       r'   rt   zAsyncHTTP11UpgradeStream.readk  sX     ''
3F!%!3!3IJ!?DM**9g>>>>s   AAAAr   c                 X   K   | j                   j                  ||       d {    y 7 wr   )r   rb   )r=   r   ra   s      r'   rb   zAsyncHTTP11UpgradeStream.writes  s      ll  111s    *(*c                 T   K   | j                   j                          d {    y 7 wr   )r   r   r   s    r'   r   zAsyncHTTP11UpgradeStream.aclosev  s     ll!!###s   (&(ssl_contextserver_hostnamec                 X   K   | j                   j                  |||       d {   S 7 wr   )r   	start_tls)r=   r   r   ra   s       r'   r   z"AsyncHTTP11UpgradeStream.start_tlsy  s'      \\++K'RRRRs   !*(*r   c                 8    | j                   j                  |      S r   )r   r   )r=   r   s     r'   r   z'AsyncHTTP11UpgradeStream.get_extra_info  s    ||**400r&   r   r   )NN)r   r   r    r   r|   r>   r   r   r   rt   rb   r   ssl
SSLContextr   r   r   r   r%   r&   r'   rW   rW   f  s    *1 * *4 *?C ?(5/ ?U ?2% 2(5/ 2T 2$ *.#'	S^^S "#S %	S
 
S13 13 1r&   rW   )-enumloggingr   r   typesr   typingr   r   r   r   r   r	   r
   r   r8   _backends.baser   _exceptionsr   r   r   r   r   _modelsr   r   r   _synchronizationr   r   _tracer   
interfacesr   	getLoggerrQ   rm   rn   H11SendEventIntEnumr   r)   rX   rW   r%   r&   r'   <module>r      s      
  	 	 	  /  0 / A  0			,	- KKHH$,, V4 Vr: :611 1r&   