bg-ddlZddlZddlZddlZddlmZmZddlmZm Z m Z m Z m Z m Z ddlmZddlmZddlmZddlmZ dd lmZn #e$reZYnwxYwd ZGd d eZddZGddeZGddeZGddeZ GddeZ!GddeZ"GddeZ#Gdde#Z$Gdde#Z%dS) N)ABCabstractmethod)Any AwaitableCallableListOptionalSet)URL)PathLike) Application)Server) SSLContext) BaseSiteTCPSiteUnixSite NamedPipeSiteSockSite BaseRunner AppRunner ServerRunner GracefulExitceZdZdZdS)rr N)__name__ __module__ __qualname__codeI/opt/cloudlinux/venv/lib64/python3.11/site-packages/aiohttp/web_runner.pyrr!s DDDr rreturnctN)rrr r!_raise_graceful_exitr%%s ..r c eZdZdZddddddded eed ed df d Ze e d e fd Z e ddZ ddZdS)r)_runner _ssl_context_backlog_serverN@Nshutdown_timeout ssl_contextbacklogrunnerrr.r/r0r"c|jtd|dkr%d}tj|td||_||_||_||_d|_ dS)Nz(Call runner.setup() before making a siter+z,shutdown_timeout should be set on BaseRunner) stacklevel) server RuntimeErrorwarningswarnDeprecationWarning_shutdown_timeoutr'r(r)r*)selfr1r.r/r0msgs r!__init__zBaseSite.__init__,sl = IJJ J t # #@C M#1a @ @ @ @'7F $ ' 9= r cdSr$rr;s r!namez BaseSite.name?s  r c>K|j|dSr$)r' _reg_siter?s r!startzBaseSite.startDs" t$$$$$r cK|j||j|j|j|dSr$)r' _check_siter*close _unreg_siter?s r!stopz BaseSite.stopHsT   &&& < # L      &&&&&r r"N)rrr __slots__floatr rintr=propertyrstrr@rCrHrr r!rr)sBI #',0 >>>> > j) >  > >>>>& c   ^X %%%^%''''''r rceZdZdZ ddddddddddeed eed ed eed ed ee dee ddffdZ e defdZ dfd Z xZS)r)_host_port_reuse_address _reuse_portNr+r,)r.r/r0 reuse_address reuse_portr1rhostportr.r/r0rTrUr"ct||||||_| |jrdnd}||_||_||_dS)Nr-i i)superr=rPr(rQrRrS) r;r1rVrWr.r/r0rTrU __class__s r!r=zTCPSite.__init__Ssn  -#     <,644$D +%r c|jrdnd}|jdn|j}ttj|||jS)Nhttpshttpz0.0.0.0schemerVrW)r(rPrNr buildrQ)r;r_rVs r!r@z TCPSite.namelsF -96 J.yyDJ39FDJGGGHHHr c (Ktd{Vtj}|jj}|J|||j|j|j |j |j |j d{V|_ dS)N)sslr0rTrU)rYrCasyncioget_event_loopr'r5 create_serverrPrQr(r)rRrSr*r;loopr5rZs r!rCz TCPSite.startrsggmmoo%''$!!!!//  J J!M-'0         r )NNrI)rrrrJr rNrLrKrboolr=rMr@rC __classcell__rZs@r!rrPs!CI #" & #',0(,%)&&&&sm&sm &  &j)&& ~&TN& &&&&&&2IcIIIXI           r rc zeZdZdZddddddded ed eed ed df fd Z e d e fdZ dfd Z xZS)r_pathr+Nr,r-r1rpathr.r/r0r"c`t||||||_dS)Nr-)rYr=rm)r;r1rnr.r/r0rZs r!r=zUnixSite.__init__s?  -#     r c2|jrdnd}|d|jdS)Nr\r]://unix::)r(rm)r;r_s r!r@z UnixSite.names, -96//$*////r cKtd{Vtj}|jj}|J|||j|j|j d{V|_ dS)N)rbr0) rYrCrcrdr'r5create_unix_serverrmr(r)r*rfs r!rCzUnixSite.startsggmmoo%''$!!!!44  J!M 5         r rI)rrrrJr rKr rrLr=rMrNr@rCrirjs@r!rrsI#',0   j)  "0c000X0           r rc beZdZdZdddddededd ffd Zedefd Zd fd Z xZ S)rrlr+r.r1rrnr.r"Nctj}t|tjst dt ||||_dS)Nz8Named Pipes only available in proactorloop under windowsrv)rcrd isinstanceProactorEventLoopr6rYr=rm)r;r1rnr.rgrZs r!r=zNamedPipeSite.__init__so%'' '+   M  2BCCC r c|jSr$rlr?s r!r@zNamedPipeSite.name zr cKtd{Vtj}|jj}|J|||jd{V}|d|_dS)Nr) rYrCrcrdr'r5start_serving_pipermr*)r;rgr5r*rZs r!rCzNamedPipeSite.startsggmmoo%''$!!!// DJ        qz r rI) rrrrJrNrKr=rMr@rCrirjs@r!rrsIMQ   " *- DI        cX""""""""""r rc eZdZdZdddddddejd ed eed ed df fd Z e d e fdZ dfd Z xZS)r)_sock_namer+Nr,r-r1rsockr.r/r0r"ct||||||_|jrdnd}t t dr0|jt jkr|d|d}nC|dd\}} ttj ||| }||_ dS) Nr-r\r]AF_UNIXrqrrr3r^) rYr=rr(hasattrsocketfamilyr getsocknamerNr r`r) r;r1rr.r/r0r_r@rVrWrZs r!r=zSockSite.__init__s  -#      -96 69 % % G$+*G*G;;d&6&6&8&8;;;DD))++BQB/JD$syTEEEFFD r c|jSr$)rr?s r!r@z SockSite.namer{r cKtd{Vtj}|jj}|J|||j|j|j d{V|_ dS)N)rrbr0) rYrCrcrdr'r5rerr(r)r*rfs r!rCzSockSite.startsggmmoo%''$!!!!// ):DM0         r rI)rrrrJrrKr rrLr=rMrNr@rCrirjs@r!rrs"I#',0m   j)  0cX          r rc 6eZdZdZddddedededd fd Zede e fd Z ede efd Z edeefd ZddZeddZddZede fdZeddZdedd fdZdedd fdZdedd fdZd S)rshutdown_callback_handle_signals_kwargsr*_sitesr:Fr+)handle_signalsr.rr.kwargsr"Nc Zd|_||_||_d|_g|_||_dSr$r)r;rr.rs r!r=zBaseRunner.__init__s9KO- )- &( !1r c|jSr$)r*r?s r!r5zBaseRunner.servers |r cg}|jD]@}|j}|5|j}|,|D])}||*A|Sr$)rr*socketsappendr)r;retsiter5rrs r! addresseszBaseRunner.addresses shK 7 7D\F! .& '77 4#3#3#5#56666 r c*t|jSr$)setrr?s r!siteszBaseRunner.sitess4;r c4Ktj}|jr\ |tjt |tjt n#t$rYnwxYw| d{V|_ dSr$) rcrdradd_signal_handlersignalSIGINTr%SIGTERMNotImplementedError _make_serverr*r;rgs r!setupzBaseRunner.setups%''    '' 7KLLL''8LMMMM&    "..00000000 sA A)) A65A6c KdS)z8Call any shutdown hooks to help server close gracefully.Nrr?s r!shutdownzBaseRunner.shutdown)s r cKt|jD]}|d{V|jry|j|d{V|jr|d{V|j|jd{V|d{Vd|_|j retj } | tj| tjdS#t $rYdSwxYwdSr$)listrrHr* pre_shutdownrrr:_cleanup_serverrrcget_running_loopremove_signal_handlerrrrr)r;rrgs r!cleanupzBaseRunner.cleanup-s %%  D))++         < @ L % % ' ' '--// ! ! ! ! ! ! !% /,,.........,''(>?? ? ? ? ? ? ? ?""$$$$$$$$$   +--D **6=999**6>:::::&       s0>D00 D>=D>c KdSr$rr?s r!rzBaseRunner._make_serverI  r c KdSr$rr?s r!rzBaseRunner._cleanup_serverMrr rcv||jvrtd|d||j|dS)NSite z! is already registered in runner )rr6rr;rs r!rBzBaseRunner._reg_siteQsJ 4;  TtTTdTTUU U 4     r cB||jvrtd|d|dSNrz is not registered in runner )rr6rs r!rEzBaseRunner._check_siteVs6 t{ " "PtPP$PPQQ Q # "r cv||jvrtd|d||j|dSr)rr6removers r!rGzBaseRunner._unreg_siteZsJ t{ " "PtPP$PPQQ Q 4     r rI)rrrrJrhrKrr=rMr rr5rrr rrrrrrrrrBrErGrr r!rrsI %"& 2 2 2 2 2  2  2 2 2 2(X 49   X  s8}   X  1 1 1 1GGG^G8 F   ^    ^ !h!4!!!! RRTRRRR!!T!!!!!!r rc ZeZdZdZdZdddedededd ffd Zdd Z defd Z dd Z xZ S)rzLow-level web server runner _web_serverFr web_serverrrr"Nc Ltjdd|i|||_dS)Nrr)rYr=r)r;rrrrZs r!r=zServerRunner.__init__es5 AAA&AAA%r c KdSr$rr?s r!rzServerRunner.shutdownk  r cK|jSr$rr?s r!rzServerRunner._make_servernsr c KdSr$rr?s r!rzServerRunner._cleanup_serverqrr rI) rrr__doc__rJrrhrr=rrrrirjs@r!rr`s%% I=B&&& &59&MP& &&&&&&      F            r rc veZdZdZdZdddedededd ffd Ze defd Z dd Z de fd Z ddZxZS)rzWeb Application runner_appFrapprrr"Nc tjdd|i|t|ts"t d|||_dS)Nrz?The first argument should be web.Application instance, got {!r}r)rYr=rxr TypeErrorformatr)r;rrrrZs r!r=zAppRunner.__init__zsh AAA&AAA#{++ %%+VC[[  r c|jSr$rr?s r!rz AppRunner.apps yr cHK|jd{VdSr$)rrr?s r!rzAppRunner.shutdowns2i  """""""""""r c>Ktj}|j||jj|jd{V|j|jjdd|i|jS)Nrgr) rcrdr _set_loop on_startupfreezestartup _make_handlerrrs r!rzAppRunner._make_servers%'' D!!! ##%%%i!!!!!!!!! &ty&AADADLAAAr cHK|jd{VdSr$)rrr?s r!rzAppRunner._cleanup_servers2i!!!!!!!!!!!r rI)rrrrrJrrhrr=rMrrrrrrirjs@r!rrus  I;@    37 KN        [X####BFBBBB""""""""r rrI)&rcrrr7abcrrtypingrrrrr r yarlr typedefsr web_apprrrrbr ImportErrorobject__all__ SystemExitrr%rrrrrrrrrr r!rs ########@@@@@@@@@@@@@@@@ JJJ      :   $'$'$'$'$'s$'$'$'N/ / / / / h/ / / d# # # # # x# # # L"""""H""">& & & & & x& & & Rm!m!m!m!m!m!m!m!`     :   *!"!"!"!"!" !"!"!"!"!"sA AA