id+ddlZddlZddlZddlmZmZddlmZmZm Z m Z ddl m Z ddl mZddlmZ ddlmZn #e$reZYnwxYwd ZGd d eZdd ZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZ dS)N)ABCabstractmethod)AnyListOptionalSet)URL) Application)Server) SSLContext) BaseSiteTCPSiteUnixSite NamedPipeSiteSockSite BaseRunner AppRunner ServerRunner GracefulExitceZdZdZdS)rr N)__name__ __module__ __qualname__codeG/opt/cloudlinux/venv/lib/python3.11/site-packages/aiohttp/web_runner.pyrrs DDDrrreturnctN)rrrr_raise_graceful_exitr"#s ..rc eZdZdZddddddded eed ed df d Ze e d e fd Z e ddZ ddZdS)r)_runner_shutdown_timeout _ssl_context_backlog_serverN@Nshutdown_timeout ssl_contextbacklogrunnerrr,r-r.rcx|jtd||_||_||_||_d|_dS)Nz(Call runner.setup() before making a site)server RuntimeErrorr$r%r&r'r()selfr/r,r-r.s r__init__zBaseSite.__init__*sD = IJJ J !1' 9= rcdSr!rr3s rnamez BaseSite.name:s  rc>K|j|dSr!)r$ _reg_siter6s rstartzBaseSite.start?s" t$$$$$rcK|j||j|j|dS|jt |jdr|jd{V|jd{V|jjsJ|jj|j d{V|j|dS)N wait_closed) r$ _check_siter( _unreg_siteclosehasattrr<shutdownr1r%r6s rstopz BaseSite.stopCs   &&& <  L $ $T * * * F  4< / / -,**,, , , , , , , ,l##%%%%%%%%%|""""l!**4+ABBBBBBBBB   &&&&&rrN)rrr __slots__floatrr intr4propertyrstrr7r:rBrrrrr'sWI #',0 >>>> > j) >  > >>>>  c   ^X %%%^% ' ' ' ' ' 'rrceZdZdZ ddddddddddeed eed ed eed ed ee dee ddffdZ e defdZ dfd Z xZS)r)_host_port_reuse_address _reuse_portNr)r*)r,r-r. reuse_address reuse_portr/rhostportr,r-r.rNrOrct||||||_| |jrdnd}||_||_||_dS)Nr+i i)superr4rJr&rKrLrM) r3r/rPrQr,r-r.rNrO __class__s rr4zTCPSite.__init__Usn  -#     <,644$D +%rc|jrdnd}|jdn|j}ttj|||jS)Nhttpshttpz0.0.0.0schemerPrQ)r&rJrHr buildrK)r3rYrPs rr7z TCPSite.namensF -96 J.yyDJ39FDJGGGHHHrc (Ktd{Vtj}|jj}|J|||j|j|j |j |j |j d{V|_ dS)N)sslr.rNrO)rSr:asyncioget_event_loopr$r1 create_serverrJrKr&r'rLrMr(r3loopr1rTs rr:z TCPSite.starttsggmmoo%''$!!!!//  J J!M-'0         r)NNrC)rrrrDrrHrFrEr boolr4rGr7r: __classcell__rTs@rrrRs!CI #" & #',0(,%)&&&&sm&sm &  &j)&& ~&TN& &&&&&&2IcIIIXI           rrc zeZdZdZddddddded ed eed ed df fd Z e d efdZ dfd Z xZ S)r_pathr)Nr*r+r/rpathr,r-r.rc`t||||||_dS)Nr+)rSr4rg)r3r/rhr,r-r.rTs rr4zUnixSite.__init__s?  -#     rc2|jrdnd}|d|jdS)NrVrW://unix::)r&rg)r3rYs rr7z UnixSite.names, -96//$*////rcKtd{Vtj}|jj}|J|||j|j|j d{V|_ dS)N)r\r.) rSr:r]r^r$r1create_unix_serverrgr&r'r(r`s rr:zUnixSite.startsggmmoo%''$!!!!44 DJD$5t}5         rrC)rrrrDrHrErr rFr4rGr7r:rcrds@rrrsI#',0   j)  "0c000X0          rrc beZdZdZdddddededd ffd Zedefd Zd fd Z xZ S)rrfr)r,r/rrhr,rNctj}t|tjst dt ||||_dS)Nz8Named Pipes only available in proactorloop under windowsrp)r]r^ isinstanceProactorEventLoopr2rSr4rg)r3r/rhr,rarTs rr4zNamedPipeSite.__init__so%'' '+   M  2BCCC rc|jSr!rfr6s rr7zNamedPipeSite.name zrcKtd{Vtj}|jj}|J|||jd{V}|d|_dS)Nr) rSr:r]r^r$r1start_serving_pipergr()r3rar1r(rTs rr:zNamedPipeSite.startsggmmoo%''$!!!// DJ        qz rrC) rrrrDrHrEr4rGr7r:rcrds@rrrsIMQ   " *- DI        cX""""""""""rrc eZdZdZdddddddejd ed eed ed df fd Z e d e fdZ dfd Z xZS)r)_sock_namer)Nr*r+r/rsockr,r-r.rct||||||_|jrdnd}t t dr0|jt jkr|d|d}nC|dd\}} ttj ||| }||_ dS) Nr+rVrWAF_UNIXrkrlrX) rSr4ryr&r@socketfamilyr} getsocknamerHr rZrz) r3r/r{r,r-r.rYr7rPrQrTs rr4zSockSite.__init__s  -#      -96 69 % % G$+*G*G;;d&6&6&8&8;;;DD))++BQB/JD$syTEEEFFD rc|jSr!)rzr6s rr7z SockSite.namerurcKtd{Vtj}|jj}|J|||j|j|j d{V|_ dS)N)r{r\r.) rSr:r]r^r$r1r_ryr&r'r(r`s rr:zSockSite.startsggmmoo%''$!!!!// ):DM0         rrC)rrrrDrrErr rFr4rGrHr7r:rcrds@rrrs"I#',0m   j)  0cX          rrc0eZdZdZdddededdfdZedee fd Z ede efd Z ede efd Zdd Zedd ZddZede fdZeddZdeddfdZdeddfdZdeddfdZdS)r_handle_signals_kwargsr(_sitesFhandle_signalsrkwargsrNc >||_||_d|_g|_dSr!r)r3rrs rr4zBaseRunner.__init__s#- )- &( rc|jSr!)r(r6s rr1zBaseRunner.servers |rcg}|jD]@}|j}|5|j}|,|D])}||*A|Sr!)rr(socketsappendr)r3retsiter1rr{s r addresseszBaseRunner.addressesshK 7 7D\F! .& '77 4#3#3#5#56666 rc*t|jSr!)setrr6s rsiteszBaseRunner.sitess4;rc4Ktj}|jr\ |tjt |tjt n#t$rYnwxYw| d{V|_ dSr!) r]r^radd_signal_handlersignalSIGINTr"SIGTERMNotImplementedError _make_serverr(r3ras rsetupzBaseRunner.setup s%''    '' 7KLLL''8LMMMM&    "..00000000 sA A)) A65A6c KdSr!rr6s rrAzBaseRunner.shutdown  rcKtj}t|jD]}|d{V|d{Vd|_|jrR |tj |tj dS#t$rYdSwxYwdSr!) r]r^listrrB_cleanup_serverr(rremove_signal_handlerrrrr)r3rars rcleanupzBaseRunner.cleanups%'' %%  D))++        ""$$$$$$$$$    **6=999**6>:::::&       s0>B00 B>=B>c KdSr!rr6s rrzBaseRunner._make_server0rrc KdSr!rr6s rrzBaseRunner._cleanup_server4rrrcv||jvrtd|d||j|dS)NSite z! is already registered in runner )rr2rr3rs rr9zBaseRunner._reg_site8sJ 4;  TtTTdTTUU U 4     rcB||jvrtd|d|dSNrz is not registered in runner )rr2rs rr=zBaseRunner._check_site=s6 t{ " "PtPP$PPQQ Q # "rcv||jvrtd|d||j|dSr)rr2removers rr>zBaseRunner._unreg_siteAsJ t{ " "PtPP$PPQQ Q 4     rrC)rrrrDrbrr4rGrr r1rrrrrrrrArrrr9r=r>rrrrrsCI16)))$)#)$)))) (X 49   X  s8}   X  1 1 1 1   ^ & F   ^    ^ !h!4!!!! RRTRRRR!!T!!!!!!rrc ZeZdZdZdZdddedededd ffd Zdd Z defd Z dd Z xZ S)rzLow-level web server runner _web_serverFr web_serverrrrNc Ltjdd|i|||_dS)Nrr)rSr4r)r3rrrrTs rr4zServerRunner.__init__Ls5 AAA&AAA%rc KdSr!rr6s rrAzServerRunner.shutdownR  rcK|jSr!rr6s rrzServerRunner._make_serverUsrc KdSr!rr6s rrzServerRunner._cleanup_serverXrrrC) rrr__doc__rDr rbrr4rArrrcrds@rrrGs%% I=B&&& &59&MP& &&&&&&      F            rrc veZdZdZdZdddedededd ffd Ze defd Z dd Z de fd Z ddZxZS)rzWeb Application runner_appFrapprrrNc tjdd|i|t|ts"t d|||_dS)Nrz?The first argument should be web.Application instance, got {!r}r)rSr4rrr TypeErrorformatr)r3rrrrTs rr4zAppRunner.__init__ash AAA&AAA#{++ %%+VC[[  rc|jSr!rr6s rrz AppRunner.appls yrcHK|jd{VdSr!)rrAr6s rrAzAppRunner.shutdownps2i  """""""""""rc>Ktj}|j||jj|jd{V|j|jjdd|i|jS)Nrar) r]r^r _set_loop on_startupfreezestartup _make_handlerrrs rrzAppRunner._make_serverss%'' D!!! ##%%%i!!!!!!!!! &ty&AADADLAAArcHK|jd{VdSr!)rrr6s rrzAppRunner._cleanup_server|s2i!!!!!!!!!!!rrC)rrrrrDr rbrr4rGrrAr rrrcrds@rrr\s  I;@    37 KN        [X####BFBBBB""""""""rrrC)!r]rrabcrrtypingrrrryarlr web_appr rr r\r ImportErrorobject__all__ SystemExitrr"rrrrrrrrrrrrs| ########++++++++++++ JJJ      :   ('('('('('s('('('V/ / / / / h/ / / d      x    F"""""H""">& & & & & x& & & RU!U!U!U!U!U!U!U!p     :   *!"!"!"!"!" !"!"!"!"!"s;AA