
    +h86                       d dl mZ d dlZd dlZd dlZ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 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j8                  d      Zej<                  ej&                  ej>                  ej@                  f   Z! G d dejD                        Z# G d de      Z$ G d d      Z% G d de
      Z&y)    )annotationsN   )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     I/var/www/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dZddZddZddZdddZ		 	 	 	 dd	Z
	 	 	 	 dd
Z	 d	 	 	 ddZddZddZd dZd!dZd!dZd!dZd!dZd"dZd"dZd#dZ	 	 	 d$	 	 	 	 	 	 	 d%dZy)&AsyncHTTP11Connectioni   i  Nc                    || _         || _        || _        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)selforiginstreamkeepalive_expirys       r   __init__zAsyncHTTP11Connection.__init__/   sa     %/?(,)--$;..ZZ&*&D&D
r   c           	     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   request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urlr2   RuntimeErrorr%   r*   r)   r   r   r   r+   r   r(   r   r   logger_send_request_headers_send_request_bodyr	   _receive_response_headersreturn_valuer&   methodAsyncHTTP11UpgradeStreamr   HTTP11ConnectionByteStreamBaseExceptionr   _response_closed)r1   r7   kwargstracer=   r@   r>   rA   trailing_datar?   excs              r   handle_async_requestz*AsyncHTTP11Connection.handle_async_requestA   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)rM   targetrA   rX   )rC   getr
   r,   r   r   rM   rF   rZ   rA   _send_eventr1   r7   timeoutsrX   events        r   rI   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        j
                        sJ |j                  2 3 d {   }t        j                  |      }| j                  ||       d {    ;7 67 6 | j                  t        j                         |       d {  7   y w)NrX   rY   )datar[   )
rC   r\   
isinstancer3   typingAsyncIterabler,   Datar]   EndOfMessage)r1   r7   r_   rX   chunkr`   s         r   rJ   z(AsyncHTTP11Connection._send_request_body   s     %%)))R8,,w-'..&*>*>???">> 	; 	;%HH%(E""5'":::	;: * s//17CCCsH   A!C#B"'B(B"+-CB CB" C")CCCc                   K   | j                   j                  |      }|&| j                  j                  ||       d {    y y 7 w)Nr[   )r0   sendr&   rY   )r1   r`   rX   bytes_to_sends       r   r]   z!AsyncHTTP11Connection._send_event   sG     ,,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)NrX   readr[   r;   s   HTTP/)rC   r\   _receive_eventrc   r,   r   InformationalResponsestatus_coder=   rA   	raw_itemsr0   rT   reason)	r1   r7   r_   rX   r`   r=   rA   rT   _s	            r   rK   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)NrX   rm   r[   )
rC   r\   rn   rc   r,   rf   bytesrb   rg   PAUSEDr^   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)Nr[   r   z/Server disconnected without sending a response.)r
   r,   r   r0   
next_event	NEED_DATAr&   rm   READ_NUM_BYTEStheir_stateSEND_RESPONSEreceive_data)r1   rX   r`   rb   msgs        r   rn   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)r*   r0   	our_stater,   DONEr|   r   r   r)   start_next_cycler'   time	monotonicr(   aclose)r1   nows     r   rQ   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   r)   r&   r   r1   s    r   r   zAsyncHTTP11Connection.aclose   s-      *00""))+++s   3=;=c                     || j                   k(  S r   )r%   r1   r2   s     r   rE   z(AsyncHTTP11Connection.can_handle_request  s    %%r   c                <    | j                   t        j                  k(  S r   r)   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   r(   r)   r   r   r&   get_extra_info)r1   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   )r)   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: )strr%   r)   namer+   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   r%   r)   r   r+   )r1   
class_namer2   s      r   __repr__zAsyncHTTP11Connection.__repr__-  sZ    ^^,,
T\\"
|2fZr$++*:*:); <"112"6	
r   c                   K   | S wr   r   r   s    r   
__aenter__z AsyncHTTP11Connection.__aenter__8  s     s   c                @   K   | j                          d {    y 7 wr   )r   )r1   exc_type	exc_value	tracebacks       r   	__aexit__zAsyncHTTP11Connection.__aexit__;  s      kkms   r   )r2   r   r3   r   r4   float | NonereturnNone)r7   r   r   r   )r7   r   r   r   )r`   z	h11.EventrX   r   r   r   )r7   r   r   z:tuple[bytes, int, bytes, list[tuple[bytes, bytes]], bytes])r7   r   r   typing.AsyncIterator[bytes])rX   r   r   zh11.Event | type[h11.PAUSED]r   r   )r2   r   r   bool)r   r   )r   r   )r   r!   )NNN)r   ztype[BaseException] | Noner   zBaseException | Noner   ztypes.TracebackType | Noner   r   )r   r   r   r{   r/   r5   rV   rI   rJ   r]   rK   rw   rn   rQ   r   rE   r   r   r   r   r   r   r   r   r   r   r   r!   r!   +   s   N * *.	

 #
 '	

 

$GV
7	DMUU	CU4	$ '+#	%:$ ,&7879


 04*.04	, ( .	
 
r   r!   c                  $    e Zd ZddZddZddZy)rO   c                .    || _         || _        d| _        y )NF)_connection_request_closed)r1   
connectionr7   s      r   r5   z#HTTP11ConnectionByteStream.__init__E  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)Nr7   receive_response_bodyr   )r   r   rH   r   rw   rP   r   r   )r1   rR   rh   rU   s       r   	__aiter__z$HTTP11ConnectionByteStream.__aiter__J  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)NTrD   )r   r   rH   r   r   rQ   r   s    r   r   z!HTTP11ConnectionByteStream.acloseX  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	N)r   r!   r7   r   r   r   )r   r   r   )r   r   r   r5   r   r   r   r   r   rO   rO   D  s    
:r   rO   c                  T    e Zd ZddZd	d
dZd	ddZddZ	 	 d	 	 	 	 	 	 	 ddZddZy)rN   c                     || _         || _        y r   )_stream_leading_data)r1   r3   leading_datas      r   r5   z!AsyncHTTP11UpgradeStream.__init__`  s    )r   Nc                   K   | j                   r%| j                   d | }| j                   |d  | _         |S | j                  j                  ||       d {   S 7 wr   )r   r   rm   )r1   	max_bytesrX   buffers       r   rm   zAsyncHTTP11UpgradeStream.readd  sX     ''
3F!%!3!3IJ!?DM**9g>>>>s   AAAAc                X   K   | j                   j                  ||       d {    y 7 wr   )r   rY   )r1   r   rX   s      r   rY   zAsyncHTTP11UpgradeStream.writel  s      ll  111s    *(*c                T   K   | j                   j                          d {    y 7 wr   )r   r   r   s    r   r   zAsyncHTTP11UpgradeStream.acloseo  s     ll!!###s   (&(c                X   K   | j                   j                  |||       d {   S 7 wr   )r   	start_tls)r1   ssl_contextserver_hostnamerX   s       r   r   z"AsyncHTTP11UpgradeStream.start_tlsr  s'      \\++K'RRRRs   !*(*c                8    | j                   j                  |      S r   )r   r   )r1   r   s     r   r   z'AsyncHTTP11UpgradeStream.get_extra_infoz  s    ||**400r   )r3   r   r   ru   r   r   r   )r   intrX   r   r   ru   )r   ru   rX   r   r   r   r   )NN)r   zssl.SSLContextr   z
str | NonerX   r   r   r   )r   r   r   z
typing.Any)	r   r   r   r5   rm   rY   r   r   r   r   r   r   rN   rN   _  sS    *?2$ '+ $	S#S $S 	S
 
S1r   rN   )'
__future__r   enumloggingsslr   typesrd   r,   _backends.baser   _exceptionsr   r   r   r	   r
   _modelsr   r   r   _synchronizationr   r   _tracer   
interfacesr   	getLoggerrH   Unionrf   rg   H11SendEventIntEnumr   r!   rO   rN   r   r   r   <module>r      s    "   
    
 /  0 / A  0			,	- ||KKHH$,, V4 Vr: :611 1r   