
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
U
    '7`
                     @   s   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 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                   @   s   e Zd Zdddeee eej eddddZ	e
ee dddZeejdd	d
dZdeee ddddZeeeededddZdee ddddZedddZdS )r   N)request_factoryloop)handlerr   r   kwargsreturnc                K   s2   t || _i | _|| _d| _|| _|p*| j| _d S )Nr   )r
   _loop_connections_kwargsZrequests_countZrequest_handler_make_requestr   )selfr   r   r   r    r   E/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/web_server.py__init__   s    
zServer.__init__)r   c                 C   s   t | j S N)listr   keysr   r   r   r   connections   s    zServer.connections)r   	transportr   c                 C   s   || j |< d S r   r   )r   r   r$   r   r   r   connection_made#   s    zServer.connection_made)r   excr   c                 C   s   || j kr| j |= d S r   r%   )r   r   r'   r   r   r   connection_lost(   s    
zServer.connection_lostzasyncio.Task[None])messagepayloadprotocolwritertaskr   c                 C   s   t |||||| jS r   )r   r   )r   r)   r*   r+   r,   r-   r   r   r   r   .   s    zServer._make_request)timeoutr   c                    s2    fdd| j D }tj| I d H  | j   d S )Nc                    s   g | ]}|  qS r   )shutdown).0Zconnr.   r   r   
<listcomp>9   s     z#Server.shutdown.<locals>.<listcomp>)r   asyncioZgatherclear)r   r.   Zcorosr   r1   r   r/   8   s    zServer.shutdownc                 C   s   t | fd| ji| jS )Nr   )r   r   r   r"   r   r   r   __call__=   s    zServer.__call__)N)N)__name__
__module____qualname__r   r   r   r3   ZAbstractEventLoopr   r   propertyr   r   r#   Z	Transportr&   BaseExceptionr(   r   r   r	   r   r   floatr/   r5   r   r   r   r   r      s<      
r   )__doc__r3   typingr   r   r   r   r   r   abcr	   Zhelpersr
   Zhttp_parserr   Zstreamsr   Zweb_protocolr   r   r   Zweb_requestr   __all__r   r   r   r   r   <module>   s    