Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/aiohttp/__pycache__/web_app.cpython-38.pyc

U

'7`B@srddlZddlZddlZddlmZmZddlmZmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZddlmZddlmZmZmZmZddlm Z ddl!m"Z"dd	l#m$Z$dd
l%m&Z&ddl'm(Z(ddl)m*Z*dd
l+m,Z,ddl-m.Z.ddl/m0Z0ddl1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@dZAere(edge
dfZBe(ee2e4ge
dfZCee2ge
e4fZDeee2eDge
e4fedeDge
eDffZEe eEZFeeeeEeGfZHedZIn e(ZBe(ZCeZDeZEe ZFeeZHeZIGdddeeJefZKGdddeLZMerZe eeKge	dfZNne ZNGdddeNZOdS)N)partialupdate_wrapper)
TYPE_CHECKINGAny
AsyncIterator	AwaitableCallableDictIterableIteratorListMappingMutableMappingOptionalSequenceTupleTypeUnioncast)hdrs)AbstractAccessLoggerAbstractMatchInfoAbstractRouterAbstractStreamWriter)
FrozenList)DEBUG)RawRequestMessage)
web_logger)Signal)StreamReader)AccessLogger)_fix_request_current_app)RequestHandler)Request)StreamResponse)AbstractRouteDef)Server)AbstractResource
AbstractRouteDomain
MaskDomainMatchedSubAppResourcePrefixedSubAppResource
UrlDispatcher)ApplicationCleanupErrorr/cspeZdZeddddddddd	d
ddd
dddddgZedddddddejee	e
eeee
efeeejeddddZedddddZere
eddfdd Zeed!d"d#Ze
ed$d%d&Zdd'd(d)Ze
edd*d+d,Ze
dd$d-d.Zed'd/d0Zee
d'd1d2Z e!ejd'd3d4Z"eejdd5d6d7Z#e!ed'd8d9Z$dd'd:d;Z%e!ed'd<d=Z&dd'd>d?Z'e!ed'd@dAZ(dddBdCdDZ)e
de*dEdFdGZ+e,ge*fde*dHdIdJZ-e
de*dKdLdMZ.e
e/e0e1dNdOdPZ2e!e3d'dQdRZ4e!e5d'dSdTZ6e!e5d'dUdVZ7e!e5d'dWdXZ8e!dYd'dZd[Z9e!e	d'd\d]Z:e!e;d'd^d_Z<de=d`eejee>ee?dadbdcZ@de=d`eejee>ee?dadddeZAdd'dfdgZBdd'dhdiZCdd'djdkZDeEfeFeGeHeIdleeEeEdmdndoZJeeKeefd'dpdqZLeEeMdrdsdtZNdd'dudvZOe
d'dwdxZPed'dydzZQZRS){r/logger_debug_router_loop
_handler_args_middlewares_middlewares_handlers_run_middlewares_state_frozen_pre_frozen_subapps_on_response_prepare_on_startup_on_shutdown_on_cleanup_client_max_size_cleanup_ctxNi.)r1routermiddlewareshandler_argsclient_max_sizeloopdebug)r1rDrErFrGrHrIreturncCs|dkrt}ntjdtddt|ts2t||dk	rJtjdtdd|dk	rbtjdtdd||_||_||_	||_
||_t||_
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 deprecatedF)r.warningswarnDeprecationWarning
isinstancerAssertionErrorr2r3r4r5r1rr6r7r8r9r:r;r<rr=r>r?r@CleanupContextrBappendrA)selfr1rDrErFrGrHrIrCrCB/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/web_app.py__init__hsP




zApplication.__init__)clsrJcCstjd|jtdddS)Nz8Inheritance class {} from web.Application is discouragedrKrL)rNrOformat__name__rP)rXrCrCrV__init_subclass__szApplication.__init_subclass__)namevalrJcs2||jkr tjd|tddt||dS)Nz:Setting custom web.Application.{} attribute is discouragedrKrL)ATTRSrNrOrYrPsuper__setattr__)rUr\r]	__class__rCrVr`s
zApplication.__setattr__)otherrJcCs||kSNrC)rUrcrCrCrV__eq__szApplication.__eq__)keyrJcCs
|j|Srd)r9rUrfrCrCrV__getitem__szApplication.__getitem__rJcCs|jrtjdtdddS)Nz=Changing state of started or joined application is deprecatedrL)r:rNrOrPrUrCrCrV
_check_frozenszApplication._check_frozen)rfvaluerJcCs|||j|<dSrdrlr9)rUrfrmrCrCrV__setitem__szApplication.__setitem__cCs||j|=dSrdrnrgrCrCrV__delitem__szApplication.__delitem__cCs
t|jSrd)lenr9rkrCrCrV__len__szApplication.__len__cCs
t|jSrd)iterr9rkrCrCrV__iter__szApplication.__iter__cCstjdtddttj|jS)Nzloop property is deprecatedrKrL)rNrOrPrasyncioAbstractEventLoopr4rkrCrCrVrHszApplication.loop)rHrJcCs`|dkrt}|jdk	r,|j|k	r,td||_|jdkrF||_|jD]}||qLdS)Nz8web.Application instance initialized with different loop.)ruget_event_loopr4RuntimeErrorr2	get_debugr<	_set_loop)rUrHsubapprCrCrVrzs


zApplication._set_loopcCs|jSrd)r;rkrCrCrV
pre_frozenszApplication.pre_frozencCs|jr
dSd|_|j|j|j|j|j|j|jt	|
|_|jrndnd|_
|jD]}||j
p|j
|_
qzdS)NTF)r;r6freezer3r=rBr>r?r@tuple_prepare_middlewarer7rEr8r<
pre_freezerUr{rCrCrVrs







zApplication.pre_freezecCs|jSrd)r:rkrCrCrVfrozen	szApplication.frozencCs0|jr
dS|d|_|jD]}|qdSNT)r:rr<r}rrCrCrVr}
s
zApplication.freezecCstjdtdd|jS)Nzdebug property is deprecatedrKrL)rNrOrPr2rkrCrCrVrIszApplication.debug)r{rJcs2tddfdd}|d|d|ddS)N)signamerJcs8t|dddfdd}t|}||dS)Nr/apprJcsIdHdSrd)send)r)r{subsigrCrVhandlerszEApplication._reg_subapp_signals.<locals>.reg_handler.<locals>.handler)getattrrT)rrZappsigr)rrVreg_handlers

z4Application._reg_subapp_signals.<locals>.reg_handler
on_startupon_shutdown
on_cleanup)str)rUr{rrCrrV_reg_subapp_signalss	zApplication._reg_subapp_signals)prefixr{rJcCs@t|tstd|d}|s(tdtt||}|||S)NzPrefix must be str/zPrefix cannot be empty)rQr	TypeErrorrstrip
ValueErrorrr-_add_subapp)rUrr{factoryrCrCrV
add_subapp)s

zApplication.add_subapp)resource_factoryr{rJcCsf|jrtd|jrtd|}|j||||j|||jdk	rb|	|j|S)Nz0Cannot add sub application to frozen applicationzCannot add frozen application)
rrxrDZregister_resourcerr<rTrr4rz)rUrr{resourcerCrCrVr2s

zApplication._add_subapp)domainr{rJcCsFt|tstdnd|kr&t|}nt|}tt||}|||S)NzDomain must be str*)rQrrr+r*rr,r)rUrr{ZrulerrCrCrV
add_domainBs


zApplication.add_domain)routesrJcCs|j|Srd)rD
add_routes)rUrrCrCrVrLszApplication.add_routescCs|jSrd)r=rkrCrCrVon_response_prepareOszApplication.on_response_preparecCs|jSrd)r>rkrCrCrVrSszApplication.on_startupcCs|jSrd)r?rkrCrCrVrWszApplication.on_shutdowncCs|jSrd)r@rkrCrCrVr[szApplication.on_cleanuprScCs|jSrd)rBrkrCrCrVcleanup_ctx_szApplication.cleanup_ctxcCs|jSrd)r3rkrCrCrVrDcszApplication.routercCs|jSrd)r6rkrCrCrVrEgszApplication.middlewaresrHaccess_log_class)rHrkwargsrJcKszt|tstd|||||j|d<||d<|jr^|jD]\}}|||<qLt	|j
f|j|jd|S)NzMaccess_log_class must be subclass of aiohttp.abc.AbstractAccessLogger, got {}rIr)Zrequest_factoryrH)
issubclassrrrYrzr}r2r5itemsr'_handle
_make_requestr4)rUrHrrkvrCrCrV
_make_handlerks*



zApplication._make_handlercKs&tjdtdd|jf||d|S)NzFApplication.make_handler(...) is deprecated, use AppRunner API insteadrKrLr)rNrOrPr)rUrHrrrCrCrVmake_handlerszApplication.make_handlercs|j|IdHdS)zmCauses on_startup signal

        Should be called in the event loop along with the request handler.
        N)rrrkrCrCrVstartupszApplication.startupcs|j|IdHdS)zMCauses on_shutdown signal

        Should be called before cleanup()
        N)rrrkrCrCrVshutdownszApplication.shutdowncs|j|IdHdS)zLCauses on_cleanup signal

        Should be called after shutdown()
        N)rrrkrCrCrVcleanupszApplication.cleanupzasyncio.Task[None])messagepayloadprotocolwritertask_clsrJc	Cs|||||||j|jdS)N)rG)r4rA)rUrrrrrrrCrCrVrs	zApplication._make_requestccs^t|jD]@}t|dddkr*|dfVq
tjd|tdd|dfVq
t|dfVdS)NZ__middleware_version__rTz1old-style middleware "{!r}" deprecated, see #2252rKrLF)reversedr6rrNrOrYrPr")rUmrCrCrVrszApplication._prepare_middleware)requestrJcst}|}|j|IdH}|r>t|ts>td||	||
d}||_|j
tj}|r||IdH}|jIdH|dkr|j}|jr|jdddD]<}|jD]0\}	}
|
rtt|	|d|}q|	||IdH}qq||IdH}|S)Nz9match_info should be AbstractMatchInfo instance, not {!r})r)rurwryr3ZresolverQrrrYZadd_appr}Z_match_infoZheadersgetrZEXPECTZexpect_handlerrZdrainrr8Zappsr7rr)rUrrHrIZ
match_infoZrespexpectrrrZ	new_stylerCrCrVrs>


zApplication._handlecCs|S)zgunicorn compatibilityrCrkrCrCrV__call__szApplication.__call__cCsdt|S)Nz<Application 0x{:x}>)rYidrkrCrCrV__repr__szApplication.__repr__cCsdSrrCrkrCrCrV__bool__szApplication.__bool__)SrZ
__module____qualname__	frozensetr^rloggingZLoggerrr.r
_Middlewarer
rrintrurvrWrr[rr`objectboolrerhrlrorprrrrtpropertyrHrzr|rrr}rIrr(rrrrr&rr)r_RespPrepareSignalr
_AppSignalrrrrrD_MiddlewaresrEr!rr'rrrrrr$rr r#rrrrr%rrrr
__classcell__rCrCrarVr/Ps7	


!&c@s"eZdZeeedddZdS)r0ricCs
|jdS)Nr)argsrkrCrCrV
exceptionsszCleanupError.exceptionsN)rZrrrr
BaseExceptionrrCrCrCrVr0sr0csBeZdZddfddZeddddZedddd	ZZS)
rSNricstg|_dSrd)r_rW_exitsrkrarCrVrWs
zCleanupContext.__init__rcs4|D]*}||}|IdH|j|qdSrd)	__aiter__	__anext__rrT)rUrcbitrCrCrVr>szCleanupContext._on_startupcsg}t|jD]j}z|IdHWn>tk
r8Yqtk
rb}z||W5d}~XYqX|t|dq|rt|dkr|dn
td|dS)Nz has more than one 'yield'rrz Multiple errors on cleanup stage)	rrrStopAsyncIteration	ExceptionrTrxrqr0)rUrerrorsrexcrCrCrVr@s
zCleanupContext._on_cleanup)rZrrrWr/r>r@rrCrCrarVrSsrS)PrurrN	functoolsrrtypingrrrrrr	r
rrr
rrrrrrrrabcrrrrZ
frozenlistrZhelpersrZhttp_parserrlogrZsignalsrZstreamsr Zweb_logr!Zweb_middlewaresr"Zweb_protocolr#Zweb_requestr$Zweb_responser%Zweb_routedefr&Z
web_serverr'Zweb_urldispatcherr(r)r*r+r,r-r.__all__rrZ_HandlerrrrZ_MiddlewaresHandlersZ_Subappsrr/rxr0Z_CleanupContextBaserSrCrCrCrV<module>sbL$

5
Back to Directory File Manager