
    bCi
                         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  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)get_running_loop)RawRequestMessage)StreamReader)RequestHandler_RequestFactory_RequestHandler)BaseRequest)Serverc                   "   \ rS rSrSSSS.S\S\\   S\S\\R                     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4S jjrS\S\S\S\SSS
\4S jrSS jr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5      U l        0 U l        XPl        SU l        Xl        U=(       d    U R                  U l        X0l        g )Nr   )	r   _loop_connections_kwargsrequests_countrequest_handler_make_requestr   r   )selfr   r   r   r   r   s         L/home/james-whalen/.local/lib/python3.13/site-packages/aiohttp/web_server.py__init__Server.__init__   sD     &d+
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                 >    XR                   ;   a  U R                   U	 g g r(   r/   )r"   r   r2   s      r#   connection_lostServer.connection_lost*   s#     '''!!'* (r&   messagepayloadprotocolwritertaskzasyncio.Task[None]c                 0    [        XX4XPR                  5      $ r(   )r   r   )r"   r6   r7   r8   r9   r:   s         r#   r!   Server._make_request0   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_shutdown:   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).0r?   rB   s     r#   	<genexpr>"Server.shutdown.<locals>.<genexpr>?   s     F4EDw''4Es    )r   asynciogatherclear)r"   rB   coross    ` r#   rE   Server.shutdown>   s?     FD4E4EFnne$$$! 	%s   -AA Ac                     [        U 4SU R                  0U R                  D6$ ! [         aX    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s $ f = f)Nr   )debugaccess_log_class)r   r   r   	TypeErroritems)r"   kvr   s       r#   __call__Server.__call__C   s    		C!$HTZZH4<<HH 	C !LL..00DA55 0F 
 "$BTZZB6BB	Cs!   !$ 'BA"A"!"BB)r   r   r   r   r   r    r   r(   )r   N)__name__
__module____qualname____firstlineno__r   r   r   boolrI   AbstractEventLoopr   r$   propertyr   r   r+   	Transportr0   BaseExceptionr4   r   r   r
   r   r!   r@   floatrE   rU   __static_attributes__ r&   r#   r   r      s8   
 6:%*489 9 "/2	9
 #9 w0019 9 
9" .T.1 . ./%/292C2C/	/ GK+%+,4],C+	+Q"Q Q !	Q
 %Q #Q 
Q"huo " "

C. 
Cr&   r   )__doc__rI   typingr   r   r   r   r   r   abcr
   helpersr   http_parserr   streamsr   web_protocolr   r   r   web_requestr   __all__r   rb   r&   r#   <module>rl      s7      A A % % * ! J J $
>C >Cr&   