HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/aiohttp/__pycache__/web_runner.cpython-310.pyc
o

;j�1�@sdddlZddlZddlZddlZddlmZmZddlmZm	Z	ddl
mZddlmZddl
mZddlmZdd	lmZdd
lmZerMddlmZnzddlmZWney`eZYnwdZGd
d�de�Zd"dd�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Z Gdd�de�Z!Gdd�de�Z"Gdd�de"�Z#Gd d!�d!e"�Z$dS)#�N)�ABC�abstractmethod)�
TYPE_CHECKING�Any)�URL�)�AbstractAccessLogger)�PathLike)�Application)�AccessLogger)�Server)�
SSLContext)	�BaseSite�TCPSite�UnixSite�
NamedPipeSite�SockSite�
BaseRunner�	AppRunner�ServerRunner�GracefulExitc@seZdZdZdS)rrN)�__name__�
__module__�__qualname__�code�rr�F/opt/saltstack/salt/lib/python3.10/site-packages/aiohttp/web_runner.pyr%sr�returncCst���N)rrrrr�_raise_graceful_exit)src@sjeZdZdZdddd�ddded	edBd
eddf
dd
�Zee	de
fdd���Ze	ddd��Zddd�Z
dS)r)�_runner�_ssl_context�_backlog�_server�N@N���shutdown_timeout�ssl_context�backlog�runnerrr'r(r)rcCsP|jdur	td��|dkrd}tj|tdd�||_||_||_||_d|_	dS)Nz(Call runner.setup() before making a siter$z,shutdown_timeout should be set on BaseRunner�)�
stacklevel)
�server�RuntimeError�warnings�warn�DeprecationWarning�_shutdown_timeoutr r!r"r#)�selfr*r'r(r)�msgrrr�__init__0s

zBaseSite.__init__cCsdSrr�r3rrr�nameCsz
BaseSite.namec�s�|j�|�dSr)r �	_reg_siter6rrr�startHs�zBaseSite.startc�s2�|j�|�|jdur|j��|j�|�dSr)r �_check_siter#�close�_unreg_siter6rrr�stopLs
�

z
BaseSite.stop�rN)rrr�	__slots__�floatr
�intr5�propertyr�strr7r9r=rrrrr-s,�����
�rcs�eZdZdZ		ddddddd�dddedBd	edBd
ededBded
edBdedBddf�fdd�Z	e
defdd��Ze
defdd��Zd�fdd�Z
�ZS)r)�_host�_port�_bound_port�_reuse_address�_reuse_portNr$r%)r'r(r)�
reuse_address�
reuse_portr*r�host�portr'r(r)rIrJrc	sLt�j||||d�||_|dur|jrdnd}||_d|_||_||_dS)Nr&i� i�)�superr5rDr!rErFrGrH)	r3r*rKrLr'r(r)rIrJ��	__class__rrr5Ws�
zTCPSite.__init__cCs|jdur|jS|jS)a�The port the server is listening on.

        If the server hasn't been started yet, this returns the requested port
        (which might be 0 for a dynamic port).
        After the server starts, it returns the actual bound port. This is
        especially useful when port=0 was requested, as it allows retrieving the
        dynamically assigned port after the site has started.
        N)rFrEr6rrrrLqs

zTCPSite.portcCs4|jrdnd}|jsdn|j}ttj|||jd��S)N�https�httpz0.0.0.0��schemerKrL)r!rDrCr�buildrL)r3rSrKrrrr7szTCPSite.namec	�s��t���IdHt��}|jj}|dusJ�|j||j|j|j	|j
|j|jd�IdH|_
|j
jr>|j
jd��d|_dS|j|_dS)N)�sslr)rIrJrr)rMr9�asyncio�get_event_loopr r-�
create_serverrDrEr!r"rGrHr#�sockets�getsocknamerF�r3�loopr-rNrrr9�s"��	z
TCPSite.start)NNr>)rrrr?rCrAr@r
�boolr5rBrLr7r9�
__classcell__rrrNrrTsD��������	�
��
rc
sheZdZdZdddd�ddded	ed
edBdeddf�fd
d�Ze	de
fdd��Zd�fdd�Z�Z
S)r��_pathr$Nr%r&r*r�pathr'r(r)rcst�j||||d�||_dS)Nr&)rMr5r`)r3r*rar'r(r)rNrrr5�s	�
zUnixSite.__init__cCs |jrdnd}|�d|j�d�S)NrPrQ�://unix:�:)r!r`)r3rSrrrr7�sz
UnixSite.namec��R�t���IdHt��}|jj}|dusJ�|j||j|j|j	d�IdH|_
dS)N)rUr))rMr9rVrWr r-Zcreate_unix_serverr`r!r"r#r[rNrrr9�s��zUnixSite.startr>)rrrr?r	r@r
rAr5rBrCr7r9r^rrrNrr�s*�������rc	sXeZdZdZdd�dddededd	f�fd
d�Zedefdd
��Zd�fdd�Z	�Z
S)rr_r$�r'r*rrar'rNcs6t��}t|tj�std��t�j||d�||_dS)Nz9Named Pipes only available in proactor loop under windowsre)rVrW�
isinstanceZProactorEventLoopr.rMr5r`)r3r*rar'r\rNrrr5�s��
zNamedPipeSite.__init__cC�|jSrr_r6rrrr7��zNamedPipeSite.namec�sP�t���IdHt��}|jj}|dusJ�|�||j�IdH}|d|_dS�Nr)	rMr9rVrWr r-Zstart_serving_piper`r#)r3r\r-r#rNrrr9�s�
�zNamedPipeSite.startr>)rrrr?rCr@r5rBr7r9r^rrrNrr�s�����
rc
sjeZdZdZdddd�dddejd	ed
edBdeddf�fd
d�Ze	de
fdd��Zd�fdd�Z�Z
S)r)�_sock�_namer$Nr%r&r*r�sockr'r(r)rc
s�t�j||||d�||_|jrdnd}ttd�r*|jtjkr*|�d|���d�}n|��dd�\}}	t	t
j|||	d��}||_dS)	Nr&rPrQ�AF_UNIXrbrcr+rR)
rMr5rjr!�hasattr�socket�familyrmrZrCrrTrk)
r3r*rlr'r(r)rSr7rKrLrNrrr5�s	�
zSockSite.__init__cCrgr)rkr6rrrr7�rhz
SockSite.namec�rd)N)rlrUr))rMr9rVrWr r-rXrjr!r"r#r[rNrrr9�s��zSockSite.startr>)rrrr?ror@r
rAr5rBrCr7r9r^rrrNrr�s*�������rc	@s�eZdZdZddd�dedededd	fd
d�Zede	d	Bfdd
��Z
edeefdd��Zede
efdd��Zd#dd�Zed#dd��Zd#dd�Zede	fdd��Zed#dd��Zdedd	fdd�Zdedd	fdd �Zdedd	fd!d"�Zd	S)$r��_handle_signals�_kwargsr#�_sitesr2Fr$)�handle_signalsr'rur'�kwargsrNcKs"||_||_d|_g|_||_dSrrq)r3rur'rvrrrr5
s

zBaseRunner.__init__cCrgr)r#r6rrrr-rhzBaseRunner.servercCsHg}|jD]}|j}|dur!|j}|dur!|D]	}|�|���qq|Sr)rtr#rY�appendrZ)r3�ret�siter-rYrlrrr�	addressess
�zBaseRunner.addressescCs
t|j�Sr)�setrtr6rrr�sites's
zBaseRunner.sitesc�sX�t��}|jr"z|�tjt�|�tjt�Wn	ty!Ynw|�	�IdH|_
dSr)rVrWrrZadd_signal_handler�signal�SIGINTr�SIGTERM�NotImplementedError�_make_serverr#�r3r\rrr�setup+s��zBaseRunner.setupc�s�dS)z8Call any shutdown hooks to help server close gracefully.Nrr6rrr�shutdown8szBaseRunner.shutdownc�s��t|j�D]	}|��IdHq|jr1t�d�IdH|j��|��IdH|j�|j�IdH|�	�IdHd|_|j
r\t��}z|�t
j�|�t
j�WdSty[YdSwdSri)�listrtr=r#rV�sleepZpre_shutdownr�r2�_cleanup_serverrrZget_running_loopZremove_signal_handlerr}r~rr�)r3ryr\rrr�cleanup<s&�
��zBaseRunner.cleanupc���dSrrr6rrrr�W��zBaseRunner._make_serverc�r�rrr6rrrr�[r�zBaseRunner._cleanup_serverrycCs.||jvrtd|�d|����|j�|�dS)N�Site z! is already registered in runner )rtr.rw�r3ryrrrr8_�
zBaseRunner._reg_sitecCs"||jvrtd|�d|����dS�Nr�z is not registered in runner )rtr.r�rrrr:ds
�zBaseRunner._check_sitecCs.||jvrtd|�d|����|j�|�dSr�)rtr.�remover�rrrr<hr�zBaseRunner._unreg_siter>)rrrr?r]r@rr5rBrr-r�rzr{rr|r�rr�r�r�r�r8r:r<rrrrrs<����
�



rc	s^eZdZdZdZdd�dedededd	f�fd
d�Zddd
�Z	defdd�Z
ddd�Z�ZS)rzLow-level web server runner��_web_serverF)ru�
web_serverrurvrNcs t�jdd|i|��||_dS)Nrur)rMr5r�)r3r�rurvrNrrr5ss
zServerRunner.__init__c�r�rrr6rrrr�y��zServerRunner.shutdownc�s�|jSrr�r6rrrr�|s�zServerRunner._make_serverc�r�rrr6rrrr�r�zServerRunner._cleanup_serverr>)
rrr�__doc__r?rr]rr5r�r�r�r^rrrNrrns �����
rcszeZdZdZdZded�dededee	de
d	d
f
�fdd�Zed	efd
d��Z
ddd�Zd	efdd�Zddd�Z�ZS)rzWeb Application runner��_appF)ru�access_log_class�apprur�rvrNcsBt�jdd|i|��t|t�std|����||jd<||_dS)Nruz;The first argument should be web.Application instance, got r�r)rMr5rfr
�	TypeErrorrsr�)r3r�rur�rvrNrrr5�s
�

zAppRunner.__init__cCrgrr�r6rrrr��rhz
AppRunner.appc���|j��IdHdSr)r�r�r6rrrr����zAppRunner.shutdownc�sT�t��}|j�|�|jj��|j��IdH|j��|jjdd|i|j��S)Nr\r)	rVrWr�Z	_set_loopZ
on_startupZfreezeZstartupZ
_make_handlerrsr�rrrr��s�
zAppRunner._make_serverc�r�r)r�r�r6rrrr��r�zAppRunner._cleanup_serverr>)rrrr�r?rr
r]�typerrr5rBr�r�rr�r�r^rrrNrr�s*������
	rr>)%rVr}ror/�abcrr�typingrrZyarlrrZtypedefsr	Zweb_appr
Zweb_logrr�rrUr
�ImportError�object�__all__�
SystemExitrrrrrrrrrrrrrr�<module>s<�
'E&)g