HEX
Server: LiteSpeed
System: Linux s787.bom1.mysecurecloudhost.com 4.18.0-477.13.1.lve.el8.x86_64 #1 SMP Thu Jun 1 16:40:47 EDT 2023 x86_64
User: mobilech (5348)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/aiohttp/__pycache__/web_app.cpython-310.pyc
o

;j�K�	@s�ddlZddlZddlZddlmZmZmZmZmZm	Z	m
Z
mZddlm
Z
mZddlmZmZmZddlmZmZmZmZmZmZddlmZddlmZdd	lmZdd
l m!Z!m"Z"m#Z#m$Z$ddl%m&Z&m'Z'ddl(m)Z)dd
l*m+Z+ddl,m-Z-ddl.m/Z/m0Z0ddl1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:ddl;m<Z<ddl=m>Z>ddl?m@Z@ddlAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZIdZJer�edZKee:e<fZLee0ZMeeeNe0eOfZPeQdZRneZKeZLeZMeeZPeQZRed�ZSed�ZTedeBd�ZUde/d eNd!d"ee:gee<ffd#d$�ZVed%d&�eV�ZWGd'd�de
eXe'eBef�ZYGd(d)�d)eZ�Z[eeYge
dfeeYgedfBZ\Gd*d+�d+ee\�Z]dS),�N)�
AsyncIterator�	Awaitable�Callable�Iterable�Iterator�Mapping�MutableMapping�Sequence)�AbstractAsyncContextManager�asynccontextmanager)�	lru_cache�partial�update_wrapper)�
TYPE_CHECKING�Any�Optional�TypeVar�cast�overload)�Signal)�
FrozenList�)�hdrs)�AbstractAccessLogger�AbstractMatchInfo�AbstractRouter�AbstractStreamWriter)�DEBUG�AppKey)�RawRequestMessage)�
web_logger)�StreamReader)�Handler�
Middleware)�NotAppKeyWarning)�AccessLogger)�_fix_request_current_app)�RequestHandler)�Request)�StreamResponse)�AbstractRouteDef)�Server)�AbstractResource�
AbstractRoute�Domain�
MaskDomain�MatchedSubAppResource�PrefixedSubAppResource�SystemRoute�
UrlDispatcher)�Application�CleanupErrorr4�_T�_U�	_Resource)�bound�handler�apps)r4.�returncCs:|ddd�D]}|jD]
\}}tt||d�|�}qq|S)zApply middlewares to handler.N����r:)�_middlewares_handlersrr
)r:r;�app�m�_�rC�C/opt/saltstack/salt/lib/python3.10/site-packages/aiohttp/web_app.py�_build_middlewaresJs
�rEi)�maxsizecs�eZdZegd��Zeddddddd�dejdedBd	e	e
d
eee
fdBdedejdBd
e
ddfdd�Zdedddfdd�ZerPdede
ddf�fdd�Zdedefdd�Zedeedefdd��Zedede
fdd��ZdeeeBde
fdd�Zd�d d!�Zedeed"eddfd#d$��Zeded"e
ddfd%d$��ZdeeeBd"e
ddfd&d$�ZdeeeBddfd'd(�Zdefd)d*�Z de!eee
Bfd+d,�Z"defd-d.�Z#ed�deed/ddedBfd0d1��Z$edeed/e%dee%Bfd2d1��Z$ed�ded/e
de
fd3d1��Z$d�deeeBd/e
de
fd4d1�Z$e&dejfd5d6��Z'dejdBddfd7d8�Z(e&defd9d:��Z)d�d;d<�Z*e&defd=d>��Z+d�d?d@�Z,e&defdAdB��Z-d�dDdE�Z.dFedCdde/fdGdH�Z0dIe1ge2fdCdde2fdJdK�Z3dLedCdde4fdMdN�Z5dOe	e6de7e8fdPdQ�Z9e&de:fdRdS��Z;e&de<fdTdU��Z=e&de<fdVdW��Z>e&de<fdXdY��Z?e&d�d[d\��Z@e&defd]d^��ZAe&deBfd_d`��ZCdeDda�dejdBdbeeEdce
deFfddde�ZGdeDda�dejdBdbeeEdce
deFfdfdg�ZHd�dhdi�ZId�djdk�ZJd�dldm�ZKeLfdneMdoeNdpeOdqePdrdsdteeLdeLfdudv�ZQde!eRe
effdwdx�ZSdyeLdeTfdzd{�ZUd�d|d}�ZVdefd~d�ZWdefd�d��ZX�ZYS)�r4)�logger�_debug�_router�_loop�
_handler_args�_middlewaresr?�_has_legacy_middlewares�_run_middlewares�_state�_frozen�_pre_frozen�_subapps�_on_response_prepare�_on_startup�_on_shutdown�_on_cleanup�_client_max_size�_cleanup_ctxNrCi.)rG�router�middlewares�handler_args�client_max_size�loop�debugrGrYrZr[r\r]r^r<cCs|durt�}ntjdtdd�t|t�sJ|��|dur%tjdtdd�|dur1tjdtdd�||_||_||_||_	||_
t|�|_d|_
d|_d|_i|_d|_d|_g|_t|�|_t|�|_t|�|_t|�|_t�|_|j�|jj�|j�|jj�||_dS)	Nzrouter argument is deprecated���
stacklevelzloop argument is deprecated.zdebug argument is deprecatedTF)r3�warnings�warn�DeprecationWarning�
isinstancerrHrIrJrKrGrrLr?rNrMrOrPrQrRrrSrTrUrV�CleanupContextrX�appendrW)�selfrGrYrZr[r\r]r^rCrCrD�__init__psF���





zApplication.__init__�clscCstjd|j�d�tdd�dS)NzInheritance class z$ from web.Application is discouraged�r`)rbrc�__name__rd)rjrCrCrD�__init_subclass__�s

�zApplication.__init_subclass__�name�valcs4||jvrtjd|�d�tdd�t��||�dS)NzSetting custom web.Application.z attribute is discouragedr_r`)�ATTRSrbrcrd�super�__setattr__)rhrnro��	__class__rCrDrr�s

�zApplication.__setattr__�othercCs||uS�NrC)rhrurCrCrD�__eq__��zApplication.__eq__�keycC�dSrvrC�rhryrCrCrD�__getitem__��zApplication.__getitem__cCrzrvrCr{rCrCrDr|�r}cCs
|j|Srv)rOr{rCrCrDr|��
cCs|jr
tjdtdd�dSdS)Nz=Changing state of started or joined application is deprecatedrkr`)rPrbrcrd�rhrCrCrD�
_check_frozen�s
��zApplication._check_frozen�valuecCrzrvrC�rhryr�rCrCrD�__setitem__�r}zApplication.__setitem__cCrzrvrCr�rCrCrDr��r}cCs0|��t|t�stjdtdd�||j|<dS)Nz�It is recommended to use web.AppKey instances for keys.
https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-configr_)�categoryra)r�rerrbrcr$rOr�rCrCrDr��s
�cCs|��|j|=dSrv)r�rOr{rCrCrD�__delitem__�szApplication.__delitem__cC�
t|j�Srv)�lenrOrrCrCrD�__len__�r~zApplication.__len__cCr�rv)�iterrOrrCrCrD�__iter__�r~zApplication.__iter__cCst|�Srv��idrrCrCrD�__hash__�rxzApplication.__hash__�defaultcCrzrvrC�rhryr�rCrCrD�get�r}zApplication.getcCrzrvrCr�rCrCrDr��r}cCrzrvrCr�rCrCrDr��r}cCs|j�||�Srv)rOr�r�rCrCrDr��scCstjdtdd�ttj|j�S)Nzloop property is deprecatedr_r`)rbrcrdr�asyncio�AbstractEventLooprJrrCrCrDr]�szApplication.loopcCs`|durt��}|jdur|j|urtd��||_|jdur#|��|_|jD]}|�|�q&dS)Nz8web.Application instance initialized with different loop.)r��get_event_looprJ�RuntimeErrorrH�	get_debugrR�	_set_loop)rhr]�subapprCrCrDr�s�


�zApplication._set_loopcC�|jSrv)rQrrCrCrD�
pre_frozen�zApplication.pre_frozencCs�|jrdSd|_|j��|j��|j��|j��|j��|j��|j��t	|�
��|_tdd�|jD��|_
|jrBdnd|_|jD]
}|��|jpS|j|_qHdS)NTcss�|]\}}|VqdSrvrC)�.0rB�	new_stylerCrCrD�	<genexpr>(s�

�z)Application.pre_freeze.<locals>.<genexpr>F)rQrL�freezerIrSrXrTrUrV�tuple�_prepare_middlewarer?�anyrMrZrNrR�
pre_freeze�rhr�rCrCrDr�s&







�	
�zApplication.pre_freezecCr�rv)rPrrCrCrD�frozen7r�zApplication.frozencCs0|jrdS|��d|_|jD]}|��qdS�NT)rPr�rRr�r�rCrCrDr�;s

�zApplication.freezecCstjdtdd�|jS)Nzdebug property is deprecatedr_r`)rbrcrdrHrrCrCrDr^DszApplication.debugr�cs4dtddf��fdd�}|d�|d�|d�dS)N�signamer<cs2t�|��d��fdd�}t�|�}|�|�dS)Nr@r4r<c�s�����IdHdSrv)�send)r@)r��subsigrCrDr:Ms�zEApplication._reg_subapp_signals.<locals>.reg_handler.<locals>.handler)r@r4r<N)�getattrrg)r�r:Zappsigr�)r�rD�reg_handlerJs

z4Application._reg_subapp_signals.<locals>.reg_handler�
on_startup�on_shutdown�
on_cleanup)�str)rhr�r�rCr�rD�_reg_subapp_signalsIs	zApplication._reg_subapp_signals�prefixcCs@t|t�s	td��|�d�}|std��tt||�}|�||�S)NzPrefix must be str�/zPrefix cannot be empty)rer��	TypeError�rstrip�
ValueErrorr
r1�_add_subapp)rhr�r��factoryrCrCrD�
add_subappWs

zApplication.add_subapp�resource_factorycCsf|jrtd��|jrtd��|�}|j�|�|�|�|j�|�|��|jdur1|�	|j�|S)Nz0Cannot add sub application to frozen applicationzCannot add frozen application)
r�r�rYZregister_resourcer�rRrgr�rJr�)rhr�r�ZresourcerCrCrDr�`s

zApplication._add_subapp�domaincCsDt|t�s	td��d|vrt|�}nt|�}tt||�}|�||�S)NzDomain must be str�*)rer�r�r/r.r
r0r�)rhr�r�Zruler�rCrCrD�
add_domainps

zApplication.add_domain�routescCs|j�|�Srv)rY�
add_routes)rhr�rCrCrDr�zszApplication.add_routescCr�rv)rSrrCrCrD�on_response_prepare}r�zApplication.on_response_preparecCr�rv)rTrrCrCrDr��r�zApplication.on_startupcCr�rv)rUrrCrCrDr��r�zApplication.on_shutdowncCr�rv)rVrrCrCrDr��r�zApplication.on_cleanuprfcCr�rv)rXrrCrCrD�cleanup_ctx�r�zApplication.cleanup_ctxcCr�rv)rIrrCrCrDrY�r�zApplication.routercCr�rv)rLrrCrCrDrZ�r�zApplication.middlewares�r]�access_log_classr��kwargscKszt|t�std|����|�|�|��|j|d<||d<|jr/|j��D]\}}|||<q&t|j	f|j
|jd�|��S)NzKaccess_log_class must be subclass of aiohttp.abc.AbstractAccessLogger, got r^r�)Zrequest_factoryr])�
issubclassrr�r�r�rHrK�itemsr+�_handle�
_make_requestrJ)rhr]r�r��k�vrCrCrD�
_make_handler�s*
��


���zApplication._make_handlercKs&tjdtdd�|jd||d�|��S)NzFApplication.make_handler(...) is deprecated, use AppRunner API insteadr_r`r�rC)rbrcrdr�)rhr]r�r�rCrCrD�make_handler�s���zApplication.make_handlerc���|j�|�IdHdS)zmCauses on_startup signal

        Should be called in the event loop along with the request handler.
        N)r�r�rrCrCrD�startup���zApplication.startupc�r�)zMCauses on_shutdown signal

        Should be called before cleanup()
        N)r�r�rrCrCrD�shutdown�r�zApplication.shutdownc�s6�|jjr|j�|�IdHdS|j�|�IdHdS)zLCauses on_cleanup signal

        Should be called after shutdown()
        N)r�r�r�rXrVrrCrCrD�cleanup�s�zApplication.cleanup�message�payload�protocol�writer�taskzasyncio.Task[None]�_clsc	Cs,tr	|jdus	J�|||||||j|jd�S)N)r\)rrJrW)rhr�r�r�r�r�r�rCrCrDr��s	�zApplication._make_requestccsb�t|j�D]!}t|dd�dkr|dfVqtjd|�d�tdd�|dfVqt|�dfVdS)	NZ__middleware_version__rTzold-style middleware "z" deprecated, see #2252r_r`F)�reversedrLr�rbrcrdr&)rhrArCrCrDr��s�
�zApplication._prepare_middleware�requestc
�s�t��}|��}|j�|�IdH}|r t|t�s td|����|�|�|�	�||_
|j�t
j�rI|�|�IdH}|j��IdH|durI|S|j}|jr�|js_t|jt�s_t||j�}n'|jddd�D]}|jD]\}}	|	r|tt||d�|�}ql|||�IdH}qlqg||�IdHS)Nz5match_info should be AbstractMatchInfo instance, not r=r>)r�r�r�rI�resolvererr�Zadd_appr�Z_match_info�headersr�rZEXPECTZexpect_handlerr�Zdrainr:rNrMZrouter2�_cached_build_middlewarer;r?rr
)
rhr�r]r^Z
match_infoZrespr:r@rAr�rCrCrDr�sD�
��
���zApplication._handlecCs|S)zgunicorn compatibilityrCrrCrCrD�__call__1szApplication.__call__cCsdt|�d�d�S)Nz<Application 0x�x�>r�rrCrCrD�__repr__5szApplication.__repr__cCsdSr�rCrrCrCrD�__bool__8r}zApplication.__bool__�r<N).rv)r�r4r<N)r<rf)r<r4)Zrl�
__module__�__qualname__�	frozensetrpr �logging�Loggerr3rr#rr�r�intr�r�ri�typermrrr�object�boolrwrrr6r|r�r�r�r�rr�r�r�r7�propertyr]r�r�r�r�r�r^r�r1r�rr8r�r0r�r*�listr-r��_RespPrepareSignalr��
_AppSignalr�r�r�r�rY�_MiddlewaresrZr%rr+r�r�r�r�r�r(rr!r'rr�r�r�r)r�r�r�r��
__classcell__rCrCrsrDr4Ws��������	�

�8
"  

	
	
��
�
����
�!����
�


�������
�
,c@s"eZdZedeefdd��ZdS)r5r<cCsttt|jd�S)Nr)rr��
BaseException�argsrrCrCrD�
exceptions=szCleanupError.exceptionsN)rlr�r�r�r�r�r�rCrCrCrDr5<sr5csBeZdZd
�fdd�Zdeddfdd�Zdeddfdd	�Z�ZS)rfr<Ncst���g|_dSrv)rqri�_exitsrrsrCrDriIs

zCleanupContext.__init__r@c�sH�|D]}||�}t|t�st|�|�}|��IdH|j�|�qdSrv)rer
r�
__aenter__r�rg)rhr@�cb�ctxrCrCrDrTMs�
�zCleanupContext._on_startupc�s��g}t|j�D](}z|�ddd�IdHWqttjfy0}z|�|�WYd}~qd}~ww|rBt|�dkr=|d�td|��dS)Nrrz Multiple errors on cleanup stage)	r�r��	__aexit__�	Exceptionr�ZCancelledErrorrgr�r5)rhr@�errors�it�excrCrCrDrVWs���
�zCleanupContext._on_cleanupr�)rlr�r�rir4rTrVr�rCrCrsrDrfHs
rf)^r�r�rb�collections.abcrrrrrrrr	�
contextlibr
r�	functoolsrr
r�typingrrrrrrZ	aiosignalrZ
frozenlistr�r�abcrrrrZhelpersrrZhttp_parserr�logr Zstreamsr!Ztypedefsr"r#Zweb_exceptionsr$Zweb_logr%Zweb_middlewaresr&Zweb_protocolr'Zweb_requestr(Zweb_responser)Zweb_routedefr*Z
web_serverr+Zweb_urldispatcherr,r-r.r/r0r1r2r3�__all__r�r�r�r�r�Z_MiddlewaresHandlersr�Z_Subappsr6r7r8rEr�r�r4r�r5Z_CleanupContextCallablerfrCrCrCrD�<module>st(
 (
��
�
 h��