Ë
    [üàg
.  ã                   óŒ  — d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
mZmZ d dlmZ ddlmZ ddlmZ ddlmZ erd d	lmZ n	 d d	lmZ d
Z G d„ de«      Zdd„Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z  G d„ de«      Z! G d„ de«      Z" G d„ de"«      Z# G d„ de"«      Z$y# e$ r eZY Œsw xY w)é    N)ÚABCÚabstractmethod)ÚTYPE_CHECKINGÚAnyÚListÚOptionalÚSet)ÚURLé   )ÚPathLike)ÚApplication)ÚServer)Ú
SSLContext)	ÚBaseSiteÚTCPSiteÚUnixSiteÚNamedPipeSiteÚSockSiteÚ
BaseRunnerÚ	AppRunnerÚServerRunnerÚGracefulExitc                   ó   — e Zd ZdZy)r   r   N)Ú__name__Ú
__module__Ú__qualname__Úcode© ó    úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/aiohttp/web_runner.pyr   r   #   s   „ Ø�Dr   r   c                  ó   — t        «       ‚©N)r   r   r   r    Ú_raise_graceful_exitr#   '   s
   € Ü
‹.Ðr   c                   óv   — e Zd ZdZddddœddded	ee   d
eddf
d„Ze	e
defd„«       «       Ze
dd„«       Zdd„Zy)r   )Ú_runnerÚ_ssl_contextÚ_backlogÚ_serverç      N@Né€   ©Úshutdown_timeoutÚssl_contextÚbacklogÚrunnerr   r,   r-   r.   Úreturnc                ó¾   — |j                   €t        d«      ‚|dk7  r%d}t        j                  |t        d¬«       ||_        || _        || _        || _        d | _	        y )Nz(Call runner.setup() before making a siter)   z,shutdown_timeout should be set on BaseRunneré   )Ú
stacklevel)
ÚserverÚRuntimeErrorÚwarningsÚwarnÚDeprecationWarningÚ_shutdown_timeoutr%   r&   r'   r(   )Úselfr/   r,   r-   r.   Úmsgs         r    Ú__init__zBaseSite.__init__.   s]   € ð �=‰=Ð ÜÐIÓJÐJØ˜tÒ#Ø@ˆCÜ�M‰M˜#Ô1¸aÕ@Ø'7ˆFÔ$ØˆŒØ'ˆÔØˆŒØ9=ˆ�r   c                  ó   — y r"   r   ©r:   s    r    ÚnamezBaseSite.nameA   s   € ð 	r   c              ƒ   óB   K  — | j                   j                  | «       y ­wr"   )r%   Ú	_reg_siter>   s    r    ÚstartzBaseSite.startF   s   è ø€ à�‰×Ñ˜tÕ$ùs   ‚c              ƒ   óÄ   K  — | j                   j                  | «       | j                  �| j                  j                  «        | j                   j	                  | «       y ­wr"   )r%   Ú_check_siter(   ÚcloseÚ_unreg_siter>   s    r    ÚstopzBaseSite.stopJ   sD   è ø€ Ø�‰× Ñ  Ô&Ø�<‰<Ð#Ø�L‰L×ÑÔ à�‰× Ñ  Õ&ùs   ‚AA ©r0   N)r   r   r   Ú	__slots__Úfloatr   r   Úintr<   Úpropertyr   Ústrr?   rB   rG   r   r   r    r   r   +   sˆ   „ ØB€Ið #'Ø,0Øò>àð>ð  ð	>ð
 ˜jÑ)ð>ð ð>ð 
ó>ð& Øð�cò ó ó ðð ò%ó ð%ô'r   r   c                   óœ   ‡ — e Zd ZdZ	 	 dddddddœdddee   d	ee   d
edee   dedee	   dee	   ddfˆ fd„Z
edefd„«       Zdˆ fd„Zˆ xZS )r   )Ú_hostÚ_portÚ_reuse_addressÚ_reuse_portNr)   r*   )r,   r-   r.   Úreuse_addressÚ
reuse_portr/   r   ÚhostÚportr,   r-   r.   rS   rT   r0   c                óˆ   •— t         ‰	| �  ||||¬«       || _        |€| j                  rdnd}|| _        || _        || _        y )Nr+   iû   i�  )Úsuperr<   rO   r&   rP   rQ   rR   )
r:   r/   rU   rV   r,   r-   r.   rS   rT   Ú	__class__s
            €r    r<   zTCPSite.__init__U   sW   ø€ ô 	‰ÑØØ-Ø#Øð	 	ô 	
ð ˆŒ
Øˆ<Ø×,Ò,‘4°$ˆDØˆŒ
Ø+ˆÔØ%ˆÕr   c                 ó¬   — | j                   rdnd}| j                  sdn| j                  }t        t        j                  ||| j
                  ¬«      «      S )NÚhttpsÚhttpz0.0.0.0©ÚschemerU   rV   )r&   rO   rM   r
   ÚbuildrP   )r:   r^   rU   s      r    r?   zTCPSite.namen   s>   € à ×-Ò-‘°6ˆØ $§
¢
‰y°·
±
ˆÜ”3—9‘9 F°¸D¿J¹JÔGÓHÐHr   c           	   ƒ   ó`  •K  — t         ‰| �  «       ƒ d {  –—†  t        j                  «       }| j                  j
                  }|€J ‚|j                  || j                  | j                  | j                  | j                  | j                  | j                  ¬«      ƒ d {  –—† | _        y 7 Œ”7 Œ­w)N)Ússlr.   rS   rT   )rX   rB   ÚasyncioÚget_event_loopr%   r4   Úcreate_serverrO   rP   r&   r'   rQ   rR   r(   ©r:   Úloopr4   rY   s      €r    rB   zTCPSite.startt   s™   øè ø€ Ü‰g‰m‹o×ÐÜ×%Ñ%Ó'ˆØ—‘×$Ñ$ˆØÐ!Ð!Ð!Ø!×/Ñ/ØØ�J‰JØ�J‰JØ×!Ñ!Ø—M‘MØ×-Ñ-Ø×'Ñ'ð 0ó 
÷ 
ˆ�ð	 	øð
ús"   ƒB.•B*–B	B.ÂB,Â B.Â,B.)NNrH   )r   r   r   rI   r   rM   rK   rJ   r   Úboolr<   rL   r?   rB   Ú__classcell__©rY   s   @r    r   r   R   sÀ   ø„ ØC€Ið
 #Ø"ð	&ð #'Ø,0ØØ(,Ø%)ò&àð&ð �s‰mð&ð �s‰mð	&ð  ð&ð ˜jÑ)ð&ð ð&ð   ‘~ð&ð ˜T‘Nð&ð 
õ&ð2 ðI�cò Ió ðI÷

ñ 
r   r   c                   ón   ‡ — e Zd ZdZddddœddded	ed
ee   deddfˆ fd„Z	e
defd„«       Zdˆ fd„Zˆ xZS )r   ©Ú_pathr)   Nr*   r+   r/   r   Úpathr,   r-   r.   r0   c                ó:   •— t         ‰| �  ||||¬«       || _        y )Nr+   )rX   r<   rl   )r:   r/   rm   r,   r-   r.   rY   s         €r    r<   zUnixSite.__init__‡   s,   ø€ ô 	‰ÑØØ-Ø#Øð	 	ô 	
ð ˆ�
r   c                 óF   — | j                   rdnd}|› d| j                  › d�S )Nr[   r\   ú://unix:ú:)r&   rl   )r:   r^   s     r    r?   zUnixSite.name˜   s(   € à ×-Ò-‘°6ˆØ�˜ $§*¡* ¨QÐ/Ð/r   c              ƒ   ó  •K  — t         ‰| �  «       ƒ d {  –—†  t        j                  «       }| j                  j
                  }|€J ‚|j                  || j                  | j                  | j                  ¬«      ƒ d {  –—† | _
        y 7 Œs7 Œ­w)N)ra   r.   )rX   rB   rb   rc   r%   r4   Úcreate_unix_serverrl   r&   r'   r(   re   s      €r    rB   zUnixSite.start�   s€   øè ø€ Ü‰g‰m‹o×ÐÜ×%Ñ%Ó'ˆØ—‘×$Ñ$ˆØÐ!Ð!Ð!Ø!×4Ñ4ØØ�J‰JØ×!Ñ!Ø—M‘Mð	 5ó 
÷ 
ˆ�ð	 	øð
úó"   ƒB•B	–A(BÁ>BÁ?BÂBrH   )r   r   r   rI   r   rJ   r   r   rK   r<   rL   rM   r?   rB   rh   ri   s   @r    r   r   „   s|   ø„ Ø€Ið #'Ø,0Øòàðð ðð
  ðð ˜jÑ)ðð ðð 
õð" ð0�cò 0ó ð0÷

ñ 

r   r   c            	       ó\   ‡ — e Zd ZdZddœdddededd	fˆ fd
„Zedefd„«       Zdˆ fd„Z	ˆ xZ
S )r   rk   r)   ©r,   r/   r   rm   r,   r0   Nc                ó¨   •— t        j                  «       }t        |t         j                  «      st	        d«      ‚t
        ‰| �  ||¬«       || _        y )Nz9Named Pipes only available in proactor loop under windowsrv   )rb   rc   Ú
isinstanceÚProactorEventLoopr5   rX   r<   rl   )r:   r/   rm   r,   rf   rY   s        €r    r<   zNamedPipeSite.__init__­   sT   ø€ ô ×%Ñ%Ó'ˆÜØ”'×+Ñ+ô
ô ØKóð ô 	‰Ñ˜Ð2BÐÔCØˆ�
r   c                 ó   — | j                   S r"   rk   r>   s    r    r?   zNamedPipeSite.nameº   ó   € à�z‰zÐr   c              ƒ   óú   •K  — t         ‰| �  «       ƒ d {  –—†  t        j                  «       }| j                  j
                  }|€J ‚|j                  || j                  «      ƒ d {  –—† }|d   | _        y 7 Œa7 Œ­w©Nr   )	rX   rB   rb   rc   r%   r4   Ústart_serving_piperl   r(   )r:   rf   r4   r(   rY   s       €r    rB   zNamedPipeSite.start¾   su   øè ø€ Ü‰g‰m‹o×ÐÜ×%Ñ%Ó'ˆØ—‘×$Ñ$ˆØÐ!Ð!Ð!Ø×/Ñ/Ø�D—J‘Jó
÷ 
ˆð ˜q‘zˆ�ð 	øð
ús"   ƒA;•A7–AA;Á'A9Á(A;Á9A;rH   )r   r   r   rI   rM   rJ   r<   rL   r?   rB   rh   ri   s   @r    r   r   ª   sY   ø„ Ø€Ið MQòØ"ðØ*-ðØDIðà	õð ð�cò ó ð÷"ñ "r   r   c                   ó‚   ‡ — e Zd ZdZddddœdddej                  d	ed
ee   deddfˆ fd„Z	e
defd„«       Zdˆ fd„Zˆ xZS )r   )Ú_sockÚ_namer)   Nr*   r+   r/   r   Úsockr,   r-   r.   r0   c                ól  •— t         ‰
| �  ||||¬«       || _        | j                  rdnd}t	        t
        d«      r;|j                  t
        j                  k(  r|› d|j                  «       › d�}|| _        y |j                  «       d d \  }}	t        t        j                  |||	¬«      «      }|| _        y )	Nr+   r[   r\   ÚAF_UNIXrp   rq   r2   r]   )rX   r<   r€   r&   ÚhasattrÚsocketÚfamilyr„   ÚgetsocknamerM   r
   r_   r�   )r:   r/   r‚   r,   r-   r.   r^   r?   rU   rV   rY   s             €r    r<   zSockSite.__init__Ì   s²   ø€ ô 	‰ÑØØ-Ø#Øð	 	ô 	
ð ˆŒ
Ø ×-Ò-‘°6ˆÜ”6˜9Ô%¨$¯+©+¼¿¹Ò*GØ�X˜X d×&6Ñ&6Ó&8Ð%9¸Ð;ˆDð ˆ�
ð ×)Ñ)Ó+¨B¨QÐ/‰JˆD�$Ü”s—y‘y¨°TÀÔEÓFˆDØˆ�
r   c                 ó   — | j                   S r"   )r�   r>   s    r    r?   zSockSite.nameä   r{   r   c              ƒ   ó  •K  — t         ‰| �  «       ƒ d {  –—†  t        j                  «       }| j                  j
                  }|€J ‚|j                  || j                  | j                  | j                  ¬«      ƒ d {  –—† | _
        y 7 Œs7 Œ­w)N)r‚   ra   r.   )rX   rB   rb   rc   r%   r4   rd   r€   r&   r'   r(   re   s      €r    rB   zSockSite.startè   s}   øè ø€ Ü‰g‰m‹o×ÐÜ×%Ñ%Ó'ˆØ—‘×$Ñ$ˆØÐ!Ð!Ð!Ø!×/Ñ/Ø˜Ÿ™¨×):Ñ):ÀDÇMÁMð 0ó 
÷ 
ˆ�ð	 	øð
úrt   rH   )r   r   r   rI   r†   rJ   r   r   rK   r<   rL   rM   r?   rB   rh   ri   s   @r    r   r   É   s€   ø„ Ø"€Ið #'Ø,0Øòàðð �m‰mðð
  ðð ˜jÑ)ðð ðð 
õð0 ð�cò ó ð÷
ñ 
r   r   c            	       óþ   — e Zd ZdZdddœdedededd	fd
„Zede	e
   fd„«       Zedee   fd„«       Zedee   fd„«       Zdd„Zedd„«       Zdd„Zede
fd„«       Zedd„«       Zdedd	fd„Zdedd	fd„Zdedd	fd„Zy	)r   ©Ú_handle_signalsÚ_kwargsr(   Ú_sitesr9   Fr)   )Úhandle_signalsr,   r�   r,   Úkwargsr0   Nc                óJ   — || _         || _        d | _        g | _        || _        y r"   rŒ   )r:   r�   r,   r‘   s       r    r<   zBaseRunner.__init__õ   s)   € ð  .ˆÔØˆŒØ)-ˆŒØ&(ˆŒØ!1ˆÕr   c                 ó   — | j                   S r"   )r(   r>   s    r    r4   zBaseRunner.server  s   € à�|‰|Ðr   c                 ó´   — g }| j                   D ]F  }|j                  }|€Œ|j                  }|€Œ!|D ]!  }|j                  |j	                  «       «       Œ# ŒH |S r"   )r�   r(   ÚsocketsÚappendrˆ   )r:   ÚretÚsiter4   r•   r‚   s         r    Ú	addresseszBaseRunner.addresses  sc   € àˆØ—K‘Kò 	7ˆDØ—\‘\ˆFØÑ!Ø Ÿ.™.�ØÑ&Ø 'ò 7˜ØŸ
™
 4×#3Ñ#3Ó#5Õ6ñ7ð	7ð ˆ
r   c                 ó,   — t        | j                  «      S r"   )Úsetr�   r>   s    r    ÚsiteszBaseRunner.sites  s   € ä�4—;‘;ÓÐr   c              ƒ   ó:  K  — t        j                  «       }| j                  rI	 |j                  t        j
                  t        «       |j                  t        j                  t        «       | j                  «       ƒ d {  –—† | _
        y # t        $ r Y Œ)w xY w7 Œ­wr"   )rb   rc   r�   Úadd_signal_handlerÚsignalÚSIGINTr#   ÚSIGTERMÚNotImplementedErrorÚ_make_serverr(   ©r:   rf   s     r    ÚsetupzBaseRunner.setup  sz   è ø€ Ü×%Ñ%Ó'ˆà×ÒðØ×'Ñ'¬¯©Ô7KÔLØ×'Ñ'¬¯©Ô8LÔMð
 "×.Ñ.Ó0×0ˆ�øô	 'ò áðúð 1ús5   ‚!B¤AB
 Á,BÁ?BÂ 
BÂ
	BÂBÂBÂBc              ƒ   ó   K  — y­w)z8Call any shutdown hooks to help server close gracefully.Nr   r>   s    r    ÚshutdownzBaseRunner.shutdown#  s   è ø� ùó   ‚c              ƒ   ó²  K  — t        | j                  «      D ]  }|j                  «       ƒ d {  –—†  Œ | j                  r|t	        j
                  d«      ƒ d {  –—†  | j                  j                  «        | j                  «       ƒ d {  –—†  | j                  j                  | j                  «      ƒ d {  –—†  | j                  «       ƒ d {  –—†  d | _        | j                  rTt	        j                  «       }	 |j                  t        j                  «       |j                  t        j                  «       y y 7 �Œ7 Œæ7 Œ¶7 Œ‹7 Œu# t         $ r Y y w xY w­wr}   )Úlistr�   rG   r(   rb   ÚsleepÚpre_shutdownr§   r9   Ú_cleanup_serverr�   Úget_running_loopÚremove_signal_handlerrŸ   r    r¡   r¢   )r:   r˜   rf   s      r    ÚcleanupzBaseRunner.cleanup'  s  è ø€ ô
 ˜Ÿ™Ó%ò 	ˆDØ—)‘)“+×Ñð	ð �<Š<ô —-‘- Ó"×"Ð"Ø�L‰L×%Ñ%Ô'Ø—-‘-“/×!Ð!Ø—,‘,×'Ñ'¨×(>Ñ(>Ó?×?Ð?Ø×"Ñ"Ó$×$Ð$àˆŒØ×ÒÜ×+Ñ+Ó-ˆDðØ×*Ñ*¬6¯=©=Ô9Ø×*Ñ*¬6¯>©>Õ:ð	  ð ùð
 #øà!øØ?øØ$ùô 'ò áðüs{   ‚,E®D=¯*EÁE Á1EÂEÂ,EÂ8EÂ9EÃEÃ+EÃ=>E Ä;EÅ EÅEÅEÅEÅ	EÅEÅEÅEc              ƒ   ó   K  — y ­wr"   r   r>   s    r    r£   zBaseRunner._make_serverB  ó	   è ø€ àùr¨   c              ƒ   ó   K  — y ­wr"   r   r>   s    r    r­   zBaseRunner._cleanup_serverF  r²   r¨   r˜   c                 óx   — || j                   v rt        d|› d| › �«      ‚| j                   j                  |«       y )NúSite z! is already registered in runner )r�   r5   r–   ©r:   r˜   s     r    rA   zBaseRunner._reg_siteJ  s9   € Ø�4—;‘;ÑÜ  t fÐ,MÈdÈVÐTÓUÐUØ�‰×Ñ˜4Õ r   c                 óB   — || j                   vrt        d|› d| › �«      ‚y ©Nrµ   z is not registered in runner )r�   r5   r¶   s     r    rD   zBaseRunner._check_siteO  s,   € Ø�t—{‘{Ñ"Ü  t fÐ,IÈ$ÈÐPÓQÐQð #r   c                 óx   — || j                   vrt        d|› d| › �«      ‚| j                   j                  |«       y r¸   )r�   r5   Úremover¶   s     r    rF   zBaseRunner._unreg_siteS  s9   € Ø�t—{‘{Ñ"Ü  t fÐ,IÈ$ÈÐPÓQÐQØ�‰×Ñ˜4Õ r   rH   )r   r   r   rI   rg   rJ   r   r<   rL   r   r   r4   r   r™   r	   r   rœ   r¥   r   r§   r°   r£   r­   rA   rD   rF   r   r   r    r   r   ò   s%  „ ØX€Ið
  %Ø"&ò	2ð ð2ð  ð	2ð
 ð2ð 
ó2ð ð˜ Ñ(ò ó ðð ð	˜4 ™9ò 	ó ð	ð ð �s˜8‘}ò  ó ð ó1ð òGó ðGóð6 ð Fò ó ðð òó ðð!˜hð !¨4ó !ð
R ð R¨Tó Rð! ð !¨Tô !r   r   c            	       óZ   ‡ — e Zd ZdZdZddœdedededd	fˆ fd
„Zdd„Z	defd„Z
dd„Zˆ xZS )r   zLow-level web server runner©Ú_web_serverF©r�   Ú
web_serverr�   r‘   r0   Nc                ó6   •— t        ‰| �  dd|i|¤Ž || _        y )Nr�   r   )rX   r<   r½   )r:   r¿   r�   r‘   rY   s       €r    r<   zServerRunner.__init__^  s"   ø€ ô 	‰ÑÑA¨ÐA¸&ÒAØ%ˆÕr   c              ƒ   ó   K  — y ­wr"   r   r>   s    r    r§   zServerRunner.shutdownd  ó	   è ø€ Øùr¨   c              ƒ   ó"   K  — | j                   S ­wr"   r¼   r>   s    r    r£   zServerRunner._make_serverg  s   è ø€ Ø×ÑÐùs   ‚c              ƒ   ó   K  — y ­wr"   r   r>   s    r    r­   zServerRunner._cleanup_serverj  rÂ   r¨   rH   )r   r   r   Ú__doc__rI   r   rg   r   r<   r§   r£   r­   rh   ri   s   @r    r   r   Y  sL   ø„ Ù%à €Ið =Bò&Ø ð&Ø59ð&ØMPð&à	õ&óð  Fó  ÷r   r   c            	       óp   ‡ — e Zd ZdZdZddœdedededd	fˆ fd
„Ze	defd„«       Z
dd„Zdefd„Zdd„Zˆ xZS )r   zWeb Application runner©Ú_appFr¾   Úappr�   r‘   r0   Nc                óŠ   •— t        ‰| �  dd|i|¤Ž t        |t        «      st	        dj                  |«      «      ‚|| _        y )Nr�   z?The first argument should be web.Application instance, got {!r}r   )rX   r<   rx   r   Ú	TypeErrorÚformatrÈ   )r:   rÉ   r�   r‘   rY   s       €r    r<   zAppRunner.__init__s  sH   ø€ ô 	‰ÑÑA¨ÐA¸&ÒAÜ˜#œ{Ô+Üð%ß%+¡V¨C£[óð ð ˆ�	r   c                 ó   — | j                   S r"   rÇ   r>   s    r    rÉ   zAppRunner.app~  s   € à�y‰yÐr   c              ƒ   óT   K  — | j                   j                  «       ƒ d {  –—†  y 7 Œ­wr"   )rÈ   r§   r>   s    r    r§   zAppRunner.shutdown‚  s   è ø€ Ø�i‰i× Ñ Ó"×"Ò"úó   ‚( &¡(c              ƒ   ó|  K  — t        j                  «       }| j                  j                  |«       | j                  j                  j                  «        | j                  j                  «       ƒ d {  –—†  | j                  j                  «         | j                  j                  dd|i| j                  ¤ŽS 7 ŒF­w)Nrf   r   )	rb   rc   rÈ   Ú	_set_loopÚ
on_startupÚfreezeÚstartupÚ_make_handlerrŽ   r¤   s     r    r£   zAppRunner._make_server…  sŠ   è ø€ Ü×%Ñ%Ó'ˆØ�	‰	×Ñ˜DÔ!Ø�	‰	×Ñ×#Ñ#Ô%Ø�i‰i×ÑÓ!×!Ð!Ø�	‰	×ÑÔà&ˆt�y‰y×&Ñ&ÑA¨DÐA°D·L±LÑAÐAð 	"ús   ‚A1B<Á3B:Á4AB<c              ƒ   óT   K  — | j                   j                  «       ƒ d {  –—†  y 7 Œ­wr"   )rÈ   r°   r>   s    r    r­   zAppRunner._cleanup_serverŽ  s   è ø€ Ø�i‰i×ÑÓ!×!Ò!úrÏ   rH   )r   r   r   rÅ   rI   r   rg   r   r<   rL   rÉ   r§   r   r£   r­   rh   ri   s   @r    r   r   n  si   ø„ Ù à€Ið ;@ò	Øð	Ø37ð	ØKNð	à	õ	ð ð�[ò ó ðó#ðB Fó B÷"r   r   rH   )%rb   rŸ   r†   r6   Úabcr   r   Útypingr   r   r   r   r	   Úyarlr
   Útypedefsr   Úweb_appr   r¿   r   ra   r   ÚImportErrorÚobjectÚ__all__Ú
SystemExitr   r#   r   r   r   r   r   r   r   r   r   r   r    ú<module>rà      sÊ   ðÛ Û Û Û ß #ß :Õ :å å Ý  Ý áÞðÝ"ð
€ô�:ô óô$'ˆsô $'ôN/
ˆhô /
ôd#
ˆxô #
ôL"�Hô "ô>&
ˆxô &
ôRd!�ô d!ôN�:ô ô*!"�
õ !"øðw
 ò ØŠ
ðús   Á	B9 Â9CÃC