
    rp0jb                         S r SSKrSSKJrJrJrJrJrJr  SSK	J
r
  SSKJr  SSKJr  SSKJrJrJr  SS	KJr  S
r " S S5      rg)zLow level HTTP server.    N)Any	AwaitableCallableDictListOptional   )AbstractStreamWriter)RawRequestMessage)StreamReader)RequestHandler_RequestFactory_RequestHandler)BaseRequest)Serverc                   "   \ rS rSrSSSS.S\S\S-  S\S\R                  S-  S	\	S
S4S jjr
\S
\\   4S j5       rS\S\R                  S
S4S jr SS\S\S-  S
S4S jjrS\S\S\S\SSS
\4S jrSS jrSS\S-  S
S4S jjrS
\4S jrSrg)r      NF)request_factoryhandler_cancellationloophandlerr   r   r   kwargsreturnc                    U=(       d    [         R                  " 5       U l        0 U l        XPl        SU l        Xl        U=(       d    U R                  U l        X0l	        g )Nr   )
asyncioget_running_loop_loop_connections_kwargsrequests_countrequest_handler_make_requestr   r   )selfr   r   r   r   r   s         L/home/wildlama/miniconda3/lib/python3.13/site-packages/aiohttp/web_server.py__init__Server.__init__   sO     7W557
EG  &.D$2D2D$8!    c                 H    [        U R                  R                  5       5      $ N)listr   keys)r#   s    r$   connectionsServer.connections#   s    D%%**,--r'   	transportc                      X R                   U'   g r)   )r   )r#   r   r.   s      r$   connection_madeServer.connection_made'   s     &/'"r'   excc                    ^ ^ TT R                   ;   a@  TR                  (       a!  TR                  R                  UU 4S j5        g T R                   T	 g g )Nc                 <   > TR                   R                  TS 5      $ r)   )r   pop)fr   r#   s    r$   <lambda>(Server.connection_lost.<locals>.<lambda>2   s    d//33GTBr'   )r   _task_handleradd_done_callback)r#   r   r2   s   `` r$   connection_lostServer.connection_lost,   sH     d'''$$%%77B %%g. (r'   messagepayloadprotocolwritertaskzasyncio.Task[None]c                 0    [        XX4XPR                  5      $ r)   )r   r   )r#   r=   r>   r?   r@   rA   s         r$   r"   Server._make_request7   s     7XtZZPPr'   c                 J    U R                    H  nUR                  5         M     g r)   )r   close)r#   conns     r$   pre_shutdownServer.pre_shutdownA   s    %%DJJL &r'   timeoutc                    ^#    U4S jU R                    5       n[        R                  " U6 I S h  vN   U R                   R                  5         g  N7f)Nc              3   D   >#    U  H  oR                  T5      v   M     g 7fr)   )shutdown).0rF   rI   s     r$   	<genexpr>"Server.shutdown.<locals>.<genexpr>F   s     F4EDw''4Es    )r   r   gatherclear)r#   rI   coross    ` r$   rL   Server.shutdownE   s?     FD4E4EFnne$$$! 	%s   -AA Ac                 b    [        U 4SU R                  0U R                  D6$ ! [         a    U R                  R	                  5        VVs0 s H  u  pUS;   d  M  X_M     Os  snnf nnn[        U 4SU R                  0UD6nUR
                  R                  SU R                  5        Us $ f = f)Nr   )debugaccess_log_classz~Failed to create request handler with custom kwargs %r, falling back to filtered kwargs. This may indicate a misconfiguration.)r   r   r   	TypeErroritemsloggerwarning)r#   kvr   r   s        r$   __call__Server.__call__J   s    	!$HTZZH4<<HH 	 !LL..00DA55 0F 
 %TE

EfEGNN""$ 	 N	s"   !$ 'B.A"A"!A
B.-B.)r   r   r   r   r   r!   r    r)   )r   N)__name__
__module____qualname____firstlineno__r   r   boolr   AbstractEventLoopr   r%   propertyr*   r   r,   	Transportr0   BaseExceptionr;   r   r   r
   r   r"   rG   floatrL   r]   __static_attributes__ r'   r$   r   r      s6   
 37%*159 9 )4/	9
 #9 ''$.9 9 
9& .T.1 . ./%/292C2C/	/ DH	/%	/,9D,@	/		/Q"Q Q !	Q
 %Q #Q 
Q"edl "d "
. r'   r   )__doc__r   typingr   r   r   r   r   r   abcr
   http_parserr   streamsr   web_protocolr   r   r   web_requestr   __all__r   rj   r'   r$   <module>rs      s4      A A % * ! J J $
L Lr'   