Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/aiohttp/__pycache__/web_app.cpython-38.opt-1.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}ntjdtdd|dk	r8tjdtdd|dk	rPtjdtdd||_||_||_||_||_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.warningswarnDeprecationWarningr2r3r4r5r1rr6r7r8r9r:r;r<rr=r>r?r@CleanupContextrBappendrA)selfr1rDrErFrGrHrIrCrCB/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/web_app.py__init__hsN




zApplication.__init__)clsrJcCstjd|jtdddS)Nz8Inheritance class {} from web.Application is discouragedrKrL)rNrOformat__name__rP)rVrCrCrT__init_subclass__szApplication.__init_subclass__)namevalrJcs2||jkr tjd|tddt||dS)Nz:Setting custom web.Application.{} attribute is discouragedrKrL)ATTRSrNrOrWrPsuper__setattr__)rSrZr[	__class__rCrTr^s
zApplication.__setattr__)otherrJcCs||kSNrC)rSrarCrCrT__eq__szApplication.__eq__)keyrJcCs
|j|Srb)r9rSrdrCrCrT__getitem__szApplication.__getitem__rJcCs|jrtjdtdddS)Nz=Changing state of started or joined application is deprecatedrL)r:rNrOrPrSrCrCrT
_check_frozenszApplication._check_frozen)rdvaluerJcCs|||j|<dSrbrjr9)rSrdrkrCrCrT__setitem__szApplication.__setitem__cCs||j|=dSrbrlrerCrCrT__delitem__szApplication.__delitem__cCs
t|jSrb)lenr9rirCrCrT__len__szApplication.__len__cCs
t|jSrb)iterr9rirCrCrT__iter__szApplication.__iter__cCstjdtddttj|jS)Nzloop property is deprecatedrKrL)rNrOrPrasyncioAbstractEventLoopr4rirCrCrTrHszApplication.loop)rHrJcCs`|dkrt}|jdk	r,|j|k	r,td||_|jdkrF||_|jD]}||qLdS)Nz8web.Application instance initialized with different loop.)rsget_event_loopr4RuntimeErrorr2	get_debugr<	_set_loop)rSrHsubapprCrCrTrxs


zApplication._set_loopcCs|jSrb)r;rirCrCrT
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_freezerSryrCrCrTr~s







zApplication.pre_freezecCs|jSrb)r:rirCrCrTfrozen	szApplication.frozencCs0|jr
dS|d|_|jD]}|qdSNT)r:r~r<r{rrCrCrTr{
s
zApplication.freezecCstjdtdd|jS)Nzdebug property is deprecatedrKrL)rNrOrPr2rirCrCrTrIszApplication.debug)ryrJcs2tddfdd}|d|d|ddS)N)signamerJcs8t|dddfdd}t|}||dS)Nr/apprJcsIdHdSrb)send)r)rysubsigrCrThandlerszEApplication._reg_subapp_signals.<locals>.reg_handler.<locals>.handler)getattrrR)rrZappsigr)rrTreg_handlers

z4Application._reg_subapp_signals.<locals>.reg_handler
on_startupon_shutdown
on_cleanup)str)rSryrrCrrT_reg_subapp_signalss	zApplication._reg_subapp_signals)prefixryrJcCs@t|tstd|d}|s(tdtt||}|||S)NzPrefix must be str/zPrefix cannot be empty)
isinstancer	TypeErrorrstrip
ValueErrorrr-_add_subapp)rSrryfactoryrCrCrT
add_subapp)s

zApplication.add_subapp)resource_factoryryrJcCsf|jrtd|jrtd|}|j||||j|||jdk	rb|	|j|S)Nz0Cannot add sub application to frozen applicationzCannot add frozen application)
rrvrDZregister_resourcerr<rRr~r4rx)rSrryresourcerCrCrTr2s

zApplication._add_subapp)domainryrJcCsFt|tstdnd|kr&t|}nt|}tt||}|||S)NzDomain must be str*)rrrr+r*rr,r)rSrryZrulerrCrCrT
add_domainBs


zApplication.add_domain)routesrJcCs|j|Srb)rD
add_routes)rSrrCrCrTrLszApplication.add_routescCs|jSrb)r=rirCrCrTon_response_prepareOszApplication.on_response_preparecCs|jSrb)r>rirCrCrTrSszApplication.on_startupcCs|jSrb)r?rirCrCrTrWszApplication.on_shutdowncCs|jSrb)r@rirCrCrTr[szApplication.on_cleanuprQcCs|jSrb)rBrirCrCrTcleanup_ctx_szApplication.cleanup_ctxcCs|jSrb)r3rirCrCrTrDcszApplication.routercCs|jSrb)r6rirCrCrTrEgszApplication.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)
issubclassrrrWrxr{r2r5itemsr'_handle
_make_requestr4)rSrHrrkvrCrCrT
_make_handlerks*



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

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

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

        Should be called after shutdown()
        N)rrrirCrCrTcleanupszApplication.cleanupzasyncio.Task[None])messagepayloadprotocolwritertask_clsrJc	Cs|||||||j|jdS)N)rG)r4rA)rSrrrrrrrCrCrTrs	zApplication._make_requestccs^t|jD]@}t|dddkr*|dfVq
tjd|tdd|dfVq
t|dfVdS)NZ__middleware_version__rTz1old-style middleware "{!r}" deprecated, see #2252rKrLF)reversedr6rrNrOrWrPr")rSmrCrCrTr}s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)rsrurwr3ZresolverrrrWZadd_appr{Z_match_infoZheadersgetrZEXPECTZexpect_handlerrZdrainrr8Zappsr7rr)rSrrHrIZ
match_infoZrespexpectrrrZ	new_stylerCrCrTrs>


zApplication._handlecCs|S)zgunicorn compatibilityrCrirCrCrT__call__szApplication.__call__cCsdt|S)Nz<Application 0x{:x}>)rWidrirCrCrT__repr__szApplication.__repr__cCsdSrrCrirCrCrT__bool__szApplication.__bool__)SrX
__module____qualname__	frozensetr\rloggingZLoggerrr.r
_Middlewarer
rrintrsrtrUrrYrr^objectboolrcrfrjrmrnrprrrpropertyrHrxrzr~rr{rIrr(rrrrr&rr)r_RespPrepareSignalr
_AppSignalrrrrrD_MiddlewaresrEr!rr'rrrrrr$rr r#rrrr}r%rrrr
__classcell__rCrCr_rTr/Ps7	


!&c@s"eZdZeeedddZdS)r0rgcCs
|jdS)Nr)argsrirCrCrT
exceptionsszCleanupError.exceptionsN)rXrrrr
BaseExceptionrrCrCrCrTr0sr0csBeZdZddfddZeddddZedddd	ZZS)
rQNrgcstg|_dSrb)r]rU_exitsrir_rCrTrUs
zCleanupContext.__init__rcs4|D]*}||}|IdH|j|qdSrb)	__aiter__	__anext__rrR)rSrcbitrCrCrTr>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	ExceptionrRrvror0)rSrerrorsrexcrCrCrTr@s
zCleanupContext._on_cleanup)rXrrrUr/r>r@rrCrCr_rTrQsrQ)PrsrrN	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/rvr0Z_CleanupContextBaserQrCrCrCrT<module>sbL$

5
Back to Directory File Manager