
    bf
                         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 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)get_running_loop)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                    t          |          | _        i | _        || _        d| _        || _        |p| j        | _        || _        d S )Nr   )	r   _loop_connections_kwargsrequests_countrequest_handler_make_requestr   r   )selfr   r   r   r   r   s         L/var/www/html/Alfredo/env/lib/python3.11/site-packages/aiohttp/web_server.py__init__zServer.__init__   sP     &d++
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 r
| j         |= d S d S r&   r,   )r!   r   r.   s      r"   connection_lostzServer.connection_lost*   s+     d'''!'*** ('r$   messagepayloadprotocolwritertaskzasyncio.Task[None]c                 4    t          |||||| j                  S r&   )r   r   )r!   r1   r2   r3   r4   r5   s         r"   r    zServer._make_request0   s     7GXvtTZPPPr$   c                 B    | j         D ]}|                                 d S r&   )r   close)r!   conns     r"   pre_shutdownzServer.pre_shutdown:   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).0r9   r;   s     r"   	<genexpr>z"Server.shutdown.<locals>.<genexpr>?   s/      FFDw''FFFFFFr$   )r   asynciogatherclear)r!   r;   coross    ` r"   r>   zServer.shutdown>   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 )r?   kvs      r"   
<dictcomp>z#Server.__call__.<locals>.<dictcomp>H   s4       Aq555 1555r$   )r   r   r   	TypeErroritems)r!   r   s     r"   __call__zServer.__call__C   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   boolrA   AbstractEventLoopr   r#   propertyr   r   r)   	Transportr-   BaseExceptionr0   r   r   r
   r   r    r:   floatr>   rO   rI   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__rA   typingr   r   r   r   r   r   abcr
   helpersr   http_parserr   streamsr   web_protocolr   r   r   web_requestr   __all__r   rI   r$   r"   <module>rb      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 $ $ $ $ $ $
>C >C >C >C >C >C >C >C >C >Cr$   