Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/aiohttp/__pycache__/web_runner.cpython-38.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|jjsht	|jj|j
IdH|j|dS)Nwait_closed)r _check_siter$_unreg_siteclosehasattrr4shutdownr,AssertionErrorr!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*rErFrc	sFtj||||d||_|dkr0|jr,dnd}||_||_||_dS)Nr'i i)superr/rAr"rBrCrD)	r.r+rGrHr(r)r*rErF	__class__rrr/UszTCPSite.__init__rcCs8|jr
dnd}|jdkrdn|j}ttj|||jdS)Nhttpshttpz0.0.0.0schemerGrH)r"rAr@rbuildrB)r.rOrGrrrr1nszTCPSite.namec	s\tIdHt}|jj}|dk	s,t|j||j|j	|j
|j|j|j
dIdH|_dS)N)sslr*rErF)rIr3asyncioget_event_loopr r,r:
create_serverrArBr"r#rCrDr$r.loopr,rJrrr3tsz
TCPSite.start)NN)rrrr<rr@r>r=rboolr/r?r1r3
__classcell__rrrJrrRs.rcsbeZdZdZdddddeeeeeddfdd	Z	e
ed
ddZdd
fd
dZZ
S)r_pathr%Nr&r'r)r+pathr(r)r*rcstj||||d||_dS)Nr')rIr/rZ)r.r+r[r(r)r*rJrrr/s	zUnixSite.__init__rcCs |jr
dnd}|d|jdS)NrLrM://unix::)r"rZ)r.rOrrrr1sz
UnixSite.namecsPtIdHt}|jj}|dk	s,t|j||j|j	|j
dIdH|_dS)N)rQr*)rIr3rRrSr r,r:Zcreate_unix_serverrZr"r#r$rUrJrrr3szUnixSite.start)rrrr<r@r=rrr>r/r?r1r3rXrrrJrrsrcsVeZdZdZdddeeddfddZeed	d
dZdd	fdd
Z	Z
S)rrYr%r(rN)r+r[r(rcs6t}t|tjstdtj||d||_dS)Nz8Named Pipes only available in proactorloop under windowsr^)rRrS
isinstanceZProactorEventLoopr-rIr/rZ)r.r+r[r(rVrJrrr/szNamedPipeSite.__init__rcCs|jSrrYr0rrrr1szNamedPipeSite.namecsNtIdHt}|jj}|dk	s,t|||jIdH}|d|_	dS)Nr)
rIr3rRrSr r,r:Zstart_serving_piperZr$)r.rVr,r$rJrrr3szNamedPipeSite.start)rrrr<r@r=r/r?r1r3rXrrrJrrsrcsdeZdZdZdddddejeeeeddfdd	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'rLrMAF_UNIXr\r]rN)
rIr/r`r"r8socketZfamilyrcgetsocknamer@rrPra)
r.r+rbr(r)r*rOr1rGrHrJrrr/s	zSockSite.__init__rcCs|jSr)rar0rrrr1sz
SockSite.namecsPtIdHt}|jj}|dk	s,t|j||j|j	|j
dIdH|_dS)N)rbrQr*)rIr3rRrSr r,r:rTr`r"r#r$rUrJrrr3szSockSite.start)rrrr<rer=rrr>r/r?r@r1r3rXrrrJrrsrc@seZdZdZddeeddddZeee	dd	d
Z
eeedddZee
edd
dZddddZeddddZddddZee	dddZeddddZeddddZeddddZeddddZdS) r_handle_signals_kwargsr$_sitesFhandle_signalsN)rlkwargsrcKs||_||_d|_g|_dSrrg)r.rlrmrrrr/szBaseRunner.__init__rcCs|jSr)r$r0rrrr,szBaseRunner.servercCsHg}|jD]8}|j}|dk	r
|j}|dk	r
|D]}||q.q
|Sr)rjr$socketsappendrf)r.Zretsiter,rnrbrrr	addressess
zBaseRunner.addressescCs
t|jSr)setrjr0rrrsitesszBaseRunner.sitescsXt}|jrDz |tjt|tjtWntk
rBYnX|	IdH|_
dSr)rRrSrhZadd_signal_handlersignalSIGINTrSIGTERMNotImplementedError_make_serverr$r.rVrrrsetupszBaseRunner.setupcsdSrrr0rrrr9szBaseRunner.shutdowncst}|jdkrdSt|jD]}|IdHq |IdHd|_|jrz|t	j
|t	jWntk
r~YnXdSr)
rRrSr$listrjr;_cleanup_serverrhZremove_signal_handlerrtrurvrw)r.rVrprrrcleanups
zBaseRunner.cleanupcsdSrrr0rrrrx0szBaseRunner._make_servercsdSrrr0rrrr|4szBaseRunner._cleanup_server)rprcCs.||jkrtd|d||j|dS)NSite z! is already registered in runner )rjr-ror.rprrrr28s
zBaseRunner._reg_sitecCs"||jkrtd|d|dSNr~z is not registered in runner )rjr-rrrrr5=s
zBaseRunner._check_sitecCs.||jkrtd|d||j|dSr)rjr-removerrrrr6As
zBaseRunner._unreg_site)rrrr<rWrr/r?rrr,rrqrr
rsrzrr9r}rxr|r2r5r6rrrrrs&
rcs`eZdZdZdZddeeeddfddZdd	d
dZ	ed	dd
Z
dd	ddZZS)rzLow-level web server runner_web_serverFrkN)
web_serverrlrmrcs tjfd|i|||_dS)Nrl)rIr/r)r.rrlrmrJrrr/LszServerRunner.__init__rcsdSrrr0rrrr9RszServerRunner.shutdowncs|jSrrr0rrrrxUszServerRunner._make_servercsdSrrr0rrrr|XszServerRunner._cleanup_server)
rrr__doc__r<rrWrr/r9rxr|rXrrrJrrGsrcsreZdZdZdZddeeeddfddZe	ed	d
dZ
dd	dd
Zed	ddZ
dd	ddZZS)rzWeb Application runner_appFrkN)apprlrmrcs8tjfd|i|t|ts.td|||_dS)Nrlz?The first argument should be web.Application instance, got {!r})rIr/r_r
	TypeErrorformatr)r.rrlrmrJrrr/as
zAppRunner.__init__rcCs|jSrrr0rrrrlsz
AppRunner.appcs|jIdHdSr)rr9r0rrrr9pszAppRunner.shutdowncsRt}|j||jj|jIdH|j|jjfd|i|jS)NrV)	rRrSrZ	_set_loopZ
on_startupZfreezeZstartupZ
_make_handlerriryrrrrxss
zAppRunner._make_servercs|jIdHdSr)rr}r0rrrr||szAppRunner._cleanup_server)rrrrr<r
rWrr/r?rr9rrxr|rXrrrJrr\s	r)!rRrtreabcrrtypingrrrrZyarlrZweb_appr
rrrQrImportErrorobject__all__
SystemExitrrr
rrrrrrrrrrr<module>s,

+2#)\
Back to Directory File Manager