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

U

'7`+@s4ddlZddlZddlZddlmZmZddlmZmZm	Z	m
Z
ddlmZddl
mZddlmZzddlmZWnek
reZYnXd	ZGd
ddeZddd
dZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZ dS)N)ABCabstractmethod)AnyListOptionalSet)URL)Application)Server)
SSLContext)	BaseSiteTCPSiteUnixSite
NamedPipeSiteSockSite
BaseRunner	AppRunnerServerRunnerGracefulExitc@seZdZdZdS)rr	N)__name__
__module____qualname__coderrE/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/web_runner.pyrsrreturncCs
tdSN)rrrrr_raise_graceful_exit#src@sjeZdZdZdddddeeeedddd	Ze	e
ed
ddZe
dd
d
dZ
dd
ddZdS)r
)_runner_shutdown_timeout_ssl_context_backlog_serverN@Nshutdown_timeoutssl_contextbacklogr)runnerr(r)r*rcCs4|jdkrtd||_||_||_||_d|_dS)Nz(Call runner.setup() before making a site)serverRuntimeErrorr r!r"r#r$)selfr+r(r)r*rrr__init__*s
zBaseSite.__init__rcCsdSrrr.rrrname:sz
BaseSite.namecs|j|dSr)r 	_reg_siter0rrrstart?szBaseSite.startcs|j||jdkr&|j|dS|jt|jdrL|jIdH|jIdH|jj|j	IdH|j|dS)Nwait_closed)
r _check_siter$_unreg_siteclosehasattrr4shutdownr,r!r0rrrstopCs

z
BaseSite.stop)rrr	__slots__floatrrintr/propertyrstrr1r3r:rrrrr
's"r
cs~eZdZdZddddddddeeeeeeeeee	ee	dd	fdd	Z
eed
ddZdd
fd
dZ
ZS)r)_host_port_reuse_address_reuse_portNr%r&)r(r)r*
reuse_address
reuse_portr)	r+hostportr(r)r*rDrErc	sFtj||||d||_|dkr0|jr,dnd}||_||_||_dS)Nr'i i)superr/r@r"rArBrC)	r.r+rFrGr(r)r*rDrE	__class__rrr/UszTCPSite.__init__rcCs8|jr
dnd}|jdkrdn|j}ttj|||jdS)Nhttpshttpz0.0.0.0schemerFrG)r"r@r?rbuildrA)r.rNrFrrrr1nszTCPSite.namec	sPtIdHt}|jj}|j||j|j|j	|j
|j|jdIdH|_
dS)N)sslr*rDrE)rHr3asyncioget_event_loopr r,
create_serverr@rAr"r#rBrCr$r.loopr,rIrrr3tsz
TCPSite.start)NN)rrrr;rr?r=r<rboolr/r>r1r3
__classcell__rrrIrrRs.rcsbeZdZdZdddddeeeeeddfdd	Z	e
ed
ddZdd
fd
dZZ
S)r_pathr%Nr&r'r)r+pathr(r)r*rcstj||||d||_dS)Nr')rHr/rY)r.r+rZr(r)r*rIrrr/s	zUnixSite.__init__rcCs |jr
dnd}|d|jdS)NrKrL://unix::)r"rY)r.rNrrrr1sz
UnixSite.namecsDtIdHt}|jj}|j||j|j|j	dIdH|_
dS)N)rPr*)rHr3rQrRr r,Zcreate_unix_serverrYr"r#r$rTrIrrr3szUnixSite.start)rrrr;r?r<rrr=r/r>r1r3rWrrrIrrsrcsVeZdZdZdddeeddfddZeed	d
dZdd	fdd
Z	Z
S)rrXr%r(rN)r+rZr(rcs6t}t|tjstdtj||d||_dS)Nz8Named Pipes only available in proactorloop under windowsr])rQrR
isinstanceZProactorEventLoopr-rHr/rY)r.r+rZr(rUrIrrr/szNamedPipeSite.__init__rcCs|jSrrXr0rrrr1szNamedPipeSite.namecsBtIdHt}|jj}|||jIdH}|d|_dS)Nr)	rHr3rQrRr r,Zstart_serving_piperYr$)r.rUr,r$rIrrr3s
zNamedPipeSite.start)rrrr;r?r<r/r>r1r3rWrrrIrrsrcsdeZdZdZdddddejeeeeddfdd	Z	e
ed
ddZdd
fd
dZ
ZS)r)_sock_namer%Nr&r'r)r+sockr(r)r*rc
stj||||d||_|jr$dnd}ttdrT|jtjkrT|d|d}n(|dd\}}	t	t
j|||	d}||_dS)	Nr'rKrLAF_UNIXr[r\rM)
rHr/r_r"r8socketZfamilyrbgetsocknamer?rrOr`)
r.r+rar(r)r*rNr1rFrGrIrrr/s	zSockSite.__init__rcCs|jSr)r`r0rrrr1sz
SockSite.namecsDtIdHt}|jj}|j||j|j|j	dIdH|_
dS)N)rarPr*)rHr3rQrRr r,rSr_r"r#r$rTrIrrr3szSockSite.start)rrrr;rdr<rrr=r/r>r?r1r3rWrrrIrrsrc@seZdZdZddeeddddZeee	dd	d
Z
eeedddZee
edd
dZddddZeddddZddddZee	dddZeddddZeddddZeddddZeddddZdS) r_handle_signals_kwargsr$_sitesFhandle_signalsN)rkkwargsrcKs||_||_d|_g|_dSrrf)r.rkrlrrrr/szBaseRunner.__init__rcCs|jSr)r$r0rrrr,szBaseRunner.servercCsHg}|jD]8}|j}|dk	r
|j}|dk	r
|D]}||q.q
|Sr)rir$socketsappendre)r.Zretsiter,rmrarrr	addressess
zBaseRunner.addressescCs
t|jSr)setrir0rrrsitesszBaseRunner.sitescsXt}|jrDz |tjt|tjtWntk
rBYnX|	IdH|_
dSr)rQrRrgZadd_signal_handlersignalSIGINTrSIGTERMNotImplementedError_make_serverr$r.rUrrrsetupszBaseRunner.setupcsdSrrr0rrrr9szBaseRunner.shutdowncst}|jdkrdSt|jD]}|IdHq |IdHd|_|jrz|t	j
|t	jWntk
r~YnXdSr)
rQrRr$listrir:_cleanup_serverrgZremove_signal_handlerrsrtrurv)r.rUrorrrcleanups
zBaseRunner.cleanupcsdSrrr0rrrrw0szBaseRunner._make_servercsdSrrr0rrrr{4szBaseRunner._cleanup_server)rorcCs.||jkrtd|d||j|dS)NSite z! is already registered in runner )rir-rnr.rorrrr28s
zBaseRunner._reg_sitecCs"||jkrtd|d|dSNr}z is not registered in runner )rir-r~rrrr5=s
zBaseRunner._check_sitecCs.||jkrtd|d||j|dSr)rir-remover~rrrr6As
zBaseRunner._unreg_site)rrrr;rVrr/r>rrr,rrprr
rrryrr9r|rwr{r2r5r6rrrrrs&
rcs`eZdZdZdZddeeeddfddZdd	d
dZ	ed	dd
Z
dd	ddZZS)rzLow-level web server runner_web_serverFrjN)
web_serverrkrlrcs tjfd|i|||_dS)Nrk)rHr/r)r.rrkrlrIrrr/LszServerRunner.__init__rcsdSrrr0rrrr9RszServerRunner.shutdowncs|jSrrr0rrrrwUszServerRunner._make_servercsdSrrr0rrrr{XszServerRunner._cleanup_server)
rrr__doc__r;rrVrr/r9rwr{rWrrrIrrGsrcsreZdZdZdZddeeeddfddZe	ed	d
dZ
dd	dd
Zed	ddZ
dd	ddZZS)rzWeb Application runner_appFrjN)apprkrlrcs8tjfd|i|t|ts.td|||_dS)Nrkz?The first argument should be web.Application instance, got {!r})rHr/r^r
	TypeErrorformatr)r.rrkrlrIrrr/as
zAppRunner.__init__rcCs|jSrrr0rrrrlsz
AppRunner.appcs|jIdHdSr)rr9r0rrrr9pszAppRunner.shutdowncsRt}|j||jj|jIdH|j|jjfd|i|jS)NrU)	rQrRrZ	_set_loopZ
on_startupZfreezeZstartupZ
_make_handlerrhrxrrrrwss
zAppRunner._make_servercs|jIdHdSr)rr|r0rrrr{|szAppRunner._cleanup_server)rrrrr;r
rVrr/r>rr9rrwr{rWrrrIrr\s	r)!rQrsrdabcrrtypingrrrrZyarlrZweb_appr
rrrPrImportErrorobject__all__
SystemExitrrr
rrrrrrrrrrr<module>s,

+2#)\
Back to Directory File Manager