
    i2                       S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKJrJr  S SKJr  S SKJr  S SKJrJr  S SKrS SKJr  S SKJr  \(       a(  S S	KJr  S S
KJr  S SKJ r   S SK!J"r"  S SK#J$r$  \\\\$\ \"4   r%\RL                  \RN                  4r(\	R                  S:X  a  \(\RR                  4-  r(\RT                  " S5      r+ " S S5      r, " S S5      r-g)    )annotationsN)	GeneratorSequence)
formatdate)	FrameType)TYPE_CHECKINGUnion)asyncio_run)Config)H11Protocol)HttpToolsProtocol)WebSocketProtocol)WebSocketsSansIOProtocol)
WSProtocolwin32zuvicorn.errorc                  "    \ rS rSrSrSS jrSrg)ServerState*   zH
Shared servers state that is available between all protocol instances.
c                \    SU l         [        5       U l        [        5       U l        / U l        g )Nr   )total_requestssetconnectionstasksdefault_headers)selfs    V/var/www/html/qgis-automation/mouza_env/lib/python3.13/site-packages/uvicorn/server.py__init__ServerState.__init__/   s%    +.5.1e
:<    )r   r   r   r   NreturnNone)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__ r   r   r   r   *   s    =r   r   c                      \ rS rSrSS jrSSS jjrSSS jjrSSS jjrSSS jjrSS jr	SS	 jr
SS
 jrSSS jjrSS jr\R                  SS j5       rSS jrSrg)Server6   c                t    Xl         [        5       U l        SU l        SU l        SU l        SU l        / U l        g )NFg        )configr   server_statestartedshould_exit
force_exitlast_notified_captured_signals)r   r.   s     r   r   Server.__init__7   s7    'M  ,.r   Nc                `    [        U R                  US9U R                  R                  5       S9$ )Nsockets)loop_factory)r
   server.   get_loop_factoryr   r8   s     r   run
Server.runB   s'    4::g:6T[[EaEaEcddr   c                   #    U R                  5          U R                  U5      I S h  vN   S S S 5        g  N! , (       d  f       g = f7fN)capture_signals_server<   s     r   r:   Server.serveE   s6     !!#++g&&& $#& $#s%   A	868	A	8
AA	c                D  #    [         R                  " 5       nU R                  nUR                  (       d  UR	                  5         UR                  U5      U l        SnS[        R                  " SSS9-   S-   n[        R                  XBSU0S9  U R                  US	9I S h  vN   U R                  (       a  g U R                  5       I S h  vN   U R                  US	9I S h  vN   S
nS[        R                  " SSS9-   S-   n[        R                  XBSU0S9  g  Ny NQ N<7f)NzStarted server process [%d]zStarted server process [z%dcyan)fg]color_messageextrar7   zFinished server process [%d]zFinished server process [)osgetpidr.   loadedloadlifespan_classlifespanclickstyleloggerinfostartupr1   	main_loopshutdown)r   r8   
process_idr.   messagerH   s         r   rB   Server._serveI   s     YY[
}}KKM--f5/2U[[&5QQTWWG/OPll7l+++nnmmGm,,,03ekk$66RRUXXG/OP 	, 	,s6   BD  D!)D 
DD !D"9D D D c                &  ^ ^#    T R                   R                  5       I S h  vN   T R                   R                  (       a  ST l        g T R                  m S
   SUU 4S jjjn[        R
                  " 5       nUb      SS jn/ T l        U H  n[        R                  " 5       S:H  nTR                  S:  a  U(       a  U" U5      nUR                  X%TR                  TR                  S9I S h  vN nT R                  R                  U5        M     UnGOTR                  b  [        R                   " TR                  [        R"                  [        R$                  5      nUR                  X%TR                  TR                  S9I S h  vN nUR&                  c   eUR&                  nU/T l        GOKTR(                  b  Sn	[*        R,                  R/                  TR(                  5      (       a*  [*        R0                  " TR(                  5      R2                  n	UR5                  UTR(                  TR                  TR                  S9I S h  vN n[*        R6                  " TR(                  U	5        UR&                  c   eUR&                  nU/T l        Og UR                  UTR8                  TR:                  TR                  TR                  S	9I S h  vN nWR&                  c   eUR&                  nU/T l        Uc  T RI                  U5        O ST l%        g  GN GN1 GN N NP! [<         aX  n
[>        RA                  U
5        T R                   RC                  5       I S h  vN    [D        RF                  " S5         S n
A
NS n
A
ff = f7f)NTc                d   > TR                  TTR                  TR                  R                  U S9$ )N)r.   r/   	app_state_loop)http_protocol_classr/   rP   state)r^   r.   r   s    r   create_protocol'Server.startup.<locals>.create_protocolh   s9     --!..----	 .  r   c                f    SSK Jn  U R                  [        R                  " 5       5      nU" U5      $ )Nr   )	fromshare)socketrd   sharerK   rL   )sockrd   	sock_datas      r   _share_socket%Server.startup.<locals>._share_sockety   s&    
 - JJryy{3	 ++r   Windows   )rg   sslbacklogi  )pathrm   rn   )hostportrm   rn   r@   )r^   z asyncio.AbstractEventLoop | Noner!   zasyncio.Protocol)rg   socket.SocketTyper!   rr   )&rP   rU   r1   r.   asyncioget_running_loopserversplatformsystemworkerscreate_serverrm   rn   appendfdre   fromfdAF_UNIXSOCK_STREAMr8   udsrK   ro   existsstatst_modecreate_unix_serverchmodrp   rq   OSErrorrS   errorrW   sysexit_log_started_messager0   )r   r8   ra   loopri   rg   
is_windowsserver	listeners	uds_permsexcr.   s   `          @r   rU   Server.startup`   s    mm##%%%==$$#D 7;	3		 	 '') ,',", >@DL%__.);
>>A%*(.D#11/RXR\R\flftft1uu##F+    IYY"==FNNF<N<NOD--ofjjbhbpbp-qqF>>---I"8DLZZ#Iww~~fjj))GGFJJ/77	22fjjfjj&.. 3  F HHVZZ+>>---I"8DL#11#

"NN  2    >>---I"8DL?%%i0 u 	&N v r  S!mm,,...s   NLCN1L"2BNL%CNL(A	N>L, L*L, AN"N%N(N*L, ,
N62N	(M+)N	N	NNc                   U R                   nUR                  b*  US   n[        R                  SUR	                  5       5        g UR
                  b!  [        R                  SUR
                  5        g SnUR                  c  SOUR                  nSU;   a  SnUR                  nUS:X  a  US   R	                  5       S   nUR                  (       a  S	OS
nSU S3nS[        R                  " USS9-   S-   n	[        R                  UUUUSU	0S9  g )Nr   z3Uvicorn running on socket %s (Press CTRL+C to quit)z8Uvicorn running on unix socket %s (Press CTRL+C to quit)z
%s://%s:%dz0.0.0.0:z%s://[%s]:%drl   httpshttpzUvicorn running on z (Press CTRL+C to quit)T)boldrH   rI   )r.   r{   rS   rT   getsocknamer   rp   rq   rm   rQ   rR   )
r   r   r.   rg   addr_formatrp   rq   protocol_namerY   rH   s
             r   r   Server._log_started_message   s   99 Q<DKKE  "
 ZZ#KKRTZT^T^_ 'K & 39Dd{,;;Dqy |//1!4'-zzGvM+K=8OPG1EKKRV4WWZssMKK&6  r   c                   #    SnU R                  U5      I S h  vN nU(       dK  US-  nUS-  n[        R                  " S5      I S h  vN   U R                  U5      I S h  vN nU(       d  MJ  g g  NW N* N7f)Nr   rl   i / 皙?)on_tickrs   sleep)r   counterr1   s      r   rV   Server.main_loop   sh      LL11qLG&G--$$$ $W 55K	 + 2 %5s9   A7A1.A7A3	A7!A5"A7/A73A75A7c                  #    US-  S:X  a  [         R                   " 5       n[        USS9R                  5       nU R                  R                  (       a  SU4/nO/ nX@R                  R
                  -   U R                  l        U R                  R                  bN  X R                  -
  U R                  R                  :  a(  X l	        U R                  R                  5       I S h  vN   U R                  (       a  gU R                  R                  nUb4  U R                  R                  U:  a  [        R                  SU S35        gg Nd7f)	N
   r   T)usegmts   datezMaximum request limit of z exceeded. Terminating process.F)timer   encoder.   date_headerencoded_headersr/   r   callback_notifyr3   timeout_notifyr1   limit_max_requestsr   rS   warning)r   r   current_timecurrent_dater   max_requestss         r   r   Server.on_tick   s    R<199;L%l4@GGIL{{&& '67 0;kk>Y>Y0YD- {{**6"4"44t{{7Q7QQ)5&++55777 {{55#(9(9(H(HL(XNN6|nDcde 8s   C!E
#E$A%E
c                N  #    [         R                  S5        U R                   H  nUR                  5         M     U=(       d    /  H  nUR                  5         M     [	        U R
                  R                  5       H  nUR                  5         M     [        R                  " S5      I S h  vN    [        R                  " U R                  5       U R                  R                  S9I S h  vN   U R&                  (       d#  U R(                  R                  5       I S h  vN   g g  Ny N;! [        R                   ab    [         R                  S[!        U R
                  R"                  5      5        U R
                  R"                   H  nUR%                  SS9  M      Nf = f N7f)NzShutting downr   )timeoutz=Cancel %s running task(s), timeout graceful shutdown exceededz2Task cancelled, timeout graceful shutdown exceeded)msg)rS   rT   ru   closelistr/   r   rW   rs   r   wait_for_wait_tasks_to_completer.   timeout_graceful_shutdownTimeoutErrorr   lenr   cancelr2   rP   )r   r8   r   rg   
connectionts         r   rW   Server.shutdown  sK    O$ llFLLN #MrMDJJL " t00<<=J! >mmC   	S"",,.==   --((*** # 	! ## 	SLLOD%%++, &&,,QR -	S +sU   B*F%,D&-F%2:D* ,D(-D* 1.F%F# F%(D* *A3F F%F  F%c                \  #    U R                   R                  (       a  U R                  (       d  Sn[        R	                  U5        U R                   R                  (       a]  U R                  (       dL  [
        R                  " S5      I S h  vN   U R                   R                  (       a  U R                  (       d  ML  U R                   R                  (       a  U R                  (       d  Sn[        R	                  U5        U R                   R                  (       a]  U R                  (       dL  [
        R                  " S5      I S h  vN   U R                   R                  (       a  U R                  (       d  ML  U R                   H  nUR                  5       I S h  vN   M     g  GN Na N7f)Nz8Waiting for connections to close. (CTRL+C to force quit)r   z@Waiting for background tasks to complete. (CTRL+C to force quit))
r/   r   r2   rS   rT   rs   r   r   ru   wait_closed)r   r   r   s      r   r   Server._wait_tasks_to_complete'  s    ((LCKK##//mmC((( ##// ""4??TCKK##))$//mmC((( ##))$/// llF$$&&& # ) ) 'sC   B	F,F%0F,>BF,F(0F,9"F,F*
F,(F,*F,c              #    #    [         R                  " 5       [         R                  " 5       La  S v   g [         Vs0 s H#  o[        R                  " XR
                  5      _M%     nn S v   UR                  5        H  u  p[        R                  " X5        M     [        U R                  5       H  n[        R                  " U5        M     g s  snf ! UR                  5        H  u  p[        R                  " X5        M     f = f7fr@   )
	threadingcurrent_threadmain_threadHANDLED_SIGNALSsignalhandle_exititemsreversedr4   raise_signal)r   sigoriginal_handlershandlercaptured_signals        r   rA   Server.capture_signals9  s      ##%Y-B-B-DD SbbRa3&--5E5E"FFRab	, 1 7 7 9c+ !:
  ((>(>?O0  @ c !2 7 7 9c+ !:s)   9D*C%D(C ,A'D1DDc                    U R                   R                  U5        U R                  (       a  U[        R                  :X  a  SU l        g SU l        g )NT)r4   rz   r1   r   SIGINTr2   )r   r   frames      r   r   Server.handle_exitM  s9    %%c*v}} 4"DO#Dr   )	r4   r.   r2   r3   rP   r/   ru   r1   r0   )r.   r   r!   r"   r@   )r8   zlist[socket.socket] | Noner!   r"   )r   zSequence[socket.SocketType]r!   r"   r    )r   intr!   bool)r!   zGenerator[None, None, None])r   r   r   zFrameType | Noner!   r"   )r#   r$   r%   r&   r   r=   r:   rB   rU   r   rV   r   rW   r   
contextlibcontextmanagerrA   r   r(   r)   r   r   r+   r+   6   sY    	/e'Q.[z!F6<+@'$ 1 1&$r   r+   ).
__future__r   rs   r   loggingrK   rv   r   re   r   r   r   collections.abcr   r   email.utilsr   typesr   typingr   r	   rQ   uvicorn._compatr
   uvicorn.configr   uvicorn.protocols.http.h11_implr   %uvicorn.protocols.http.httptools_implr   ,uvicorn.protocols.websockets.websockets_implr   3uvicorn.protocols.websockets.websockets_sansio_implr   )uvicorn.protocols.websockets.wsproto_implr   	Protocolsr   SIGTERMr   SIGBREAK	getLoggerrS   r   r+   r)   r   r   <module>r      s    "    	    
   / "  '  ' !;GN\Dk#4jBSUmmnI MM
NN <<7))O			?	+	= 	=\$ \$r   