
    hH                         d Z ddlZddlmZmZmZmZmZmZ ddl	m
Z
 ddlmZ ddlmZ ddlmZmZmZ dd	lmZ d
Z G d d          ZdS )zLow level HTTP server.    N)Any	AwaitableCallableDictListOptional   )AbstractStreamWriter)RawRequestMessage)StreamReader)RequestHandler_RequestFactory_RequestHandler)BaseRequest)Serverc                      e Zd Zdddddedee         dedeej                 de	d	dfd
Z
ed	ee         fd            Zdedej        d	dfdZ	 ddedee         d	dfdZdededededdd	efdZddZddee         d	dfdZd	efdZdS )r   NF)request_factoryhandler_cancellationloophandlerr   r   r   kwargsreturnc                    |pt          j                    | _        i | _        || _        d| _        || _        |p| j        | _        || _	        d S )Nr   )
asyncioget_running_loop_loop_connections_kwargsrequests_countrequest_handler_make_requestr   r   )selfr   r   r   r   r   s         T/var/www/html/prod/cognitive/venv/lib/python3.11/site-packages/aiohttp/web_server.py__init__zServer.__init__   sX     7W577
EG  &.D$2D$8!!!    c                 N    t          | j                                                  S N)listr   keys)r"   s    r#   connectionszServer.connections#   s    D%**,,---r%   	transportc                     || j         |<   d S r'   )r   )r"   r   r+   s      r#   connection_madezServer.connection_made'   s     &/'"""r%   excc                 ~      j         v r1j        r j                             fd           d S  j         = d S d S )Nc                 :    j                             d           S r'   )r   pop)fr   r"   s    r#   <lambda>z(Server.connection_lost.<locals>.<lambda>2   s    d/33GTBB r%   )r   _task_handleradd_done_callback)r"   r   r.   s   `` r#   connection_lostzServer.connection_lost,   sn     d'''$ /%77BBBBB     %g... ('r%   messagepayloadprotocolwritertaskzasyncio.Task[None]c                 4    t          |||||| j                  S r'   )r   r   )r"   r7   r8   r9   r:   r;   s         r#   r!   zServer._make_request7   s     7GXvtTZPPPr%   c                 B    | j         D ]}|                                 d S r'   )r   close)r"   conns     r#   pre_shutdownzServer.pre_shutdownA   s-    % 	 	DJJLLLL	 	r%   timeoutc                    K   fd| j         D             }t          j        |  d {V  | j                                          d S )Nc              3   B   K   | ]}|                               V  d S r'   )shutdown).0r?   rA   s     r#   	<genexpr>z"Server.shutdown.<locals>.<genexpr>F   s/      FFDw''FFFFFFr%   )r   r   gatherclear)r"   rA   coross    ` r#   rD   zServer.shutdownE   s]      FFFFD4EFFFne$$$$$$$$!!!!!r%   c                     	 t          | fd| j        i| j        S # t          $ r: d | j                                        D             }t          | fd| j        i|cY S w xY w)Nr   c                 "    i | ]\  }}|d v 	||S ))debugaccess_log_class )rE   kvs      r#   
<dictcomp>z#Server.__call__.<locals>.<dictcomp>O   s4       Aq555 1555r%   )r   r   r   	TypeErroritems)r"   r   s     r#   __call__zServer.__call__J   s    		C!$HHTZH4<HHH 	C 	C 	C  L..00  F
 "$BBTZB6BBBBB	Cs    AAAr'   )r   N)__name__
__module____qualname__r   r   r   boolr   AbstractEventLoopr   r$   propertyr   r   r*   	Transportr-   BaseExceptionr6   r   r   r
   r   r!   r@   floatrD   rT   rN   r%   r#   r   r      s       
 6:%*489 9 9 9 "/2	9
 #9 w019 9 
9 9 9 9& .T.1 . . . X./%/292C/	/ / / / GK	/ 	/%	/,4],C	/		/ 	/ 	/ 	/Q"Q Q !	Q
 %Q #Q 
Q Q Q Q   " "huo " " " " "

C. 
C 
C 
C 
C 
C 
Cr%   r   )__doc__r   typingr   r   r   r   r   r   abcr
   http_parserr   streamsr   web_protocolr   r   r   web_requestr   __all__r   rN   r%   r#   <module>rf      s       A A A A A A A A A A A A A A A A % % % % % % * * * * * * ! ! ! ! ! ! J J J J J J J J J J $ $ $ $ $ $
EC EC EC EC EC EC EC EC EC ECr%   