Ë
    [üàg  ã                   ób   — d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlm	Z	  G d„ de«      Z
y)é    N)Údatetime)ÚAuthType)ÚAuthStrategy)ÚTokenManagerc                   óH   ‡ — e Zd Zdefˆ fd„Zdefd„Zdefd„Zd„ Z	d„ Z
ˆ xZS )ÚTokenAuthStrategyÚtoken_managerc                 ó  •— t         ‰| �  t        j                  «       || _        d | _        t        j                  «       | _        t        j                  t        j                  ¬«       t        j                  t        «      | _        y )N)Úlevel)ÚsuperÚ__init__r   Ú
ORGS_TOKENr	   ÚtokenÚ	threadingÚLockÚlockÚloggingÚbasicConfigÚINFOÚ	getLoggerÚ__name__Úlogger)Úselfr	   Ú	__class__s     €úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/twilio/auth_strategy/token_auth_strategy.pyr   zTokenAuthStrategy.__init__   sW   ø€ Ü‰Ñœ×,Ñ,Ô-Ø*ˆÔØˆŒ
Ü—N‘NÓ$ˆŒ	Ü×Ñ¤'§,¡,Õ/Ü×'Ñ'¬Ó1ˆ�ó    Úreturnc                 ó@   — | j                  «        d| j                  › �S )NzBearer )Úfetch_tokenr   ©r   s    r   Úget_auth_stringz!TokenAuthStrategy.get_auth_string   s   € Ø×ÑÔØ˜Ÿ™˜Ð%Ð%r   c                  ó   — y)NT© r    s    r   Úrequires_authenticationz)TokenAuthStrategy.requires_authentication   s   € Ør   c                 ó”  — | j                   �*| j                   dk(  s| j                  | j                   «      r†| j                  5  | j                   �*| j                   dk(  s| j                  | j                   «      r:| j                  j	                  d«       | j
                  j                  «       | _         d d d «       y y # 1 sw Y   y xY w)NÚ z0New token fetched for accessing organization API)r   Úis_token_expiredr   r   Úinfor	   Úfetch_access_tokenr    s    r   r   zTokenAuthStrategy.fetch_token   s¥   € Ø�:‰:Ð §¡¨rÒ!1°T×5JÑ5JÈ4Ï:É:Ô5VØ—‘ñ Ià—J‘JÐ&Ø—z‘z RÒ'Ø×,Ñ,¨T¯Z©ZÔ8à—K‘K×$Ñ$Ð%WÔXØ!%×!3Ñ!3×!FÑ!FÓ!H�D”J÷Ið Ið 6W÷Ið Iús   ÁA1B>Â>Cc                 ó"  — 	 t        j                  |ddi¬«      }|j                  d«      }|€yt        j                  |«      t        j
                  «       k  S # t         j                  $ r Y yt        $ r}t        d|› �«       Y d }~yd }~ww xY w)NÚverify_signatureF)ÚoptionsÚexpTzAn error occurred: )	ÚjwtÚdecodeÚgetr   ÚfromtimestampÚutcnowÚDecodeErrorÚ	ExceptionÚprint)r   r   Údecodedr-   Úes        r   r'   z"TokenAuthStrategy.is_token_expired&   s„   € ð	Ü—j‘j Ð1CÀUÐ0KÔLˆGØ—+‘+˜eÓ$ˆCàˆ{Øô ×)Ñ)¨#Ó.´·±Ó1BÑBÐBøä�‰ò 	ÙÜò 	ÜÐ'¨ sÐ+Ô,Üûð	ús"   ‚,A ¯)A ÁBÁ.BÁ6B	Â	B)r   Ú
__module__Ú__qualname__r   r   Ústrr!   Úboolr$   r   r'   Ú__classcell__)r   s   @r   r   r      s2   ø„ ð2 lõ 2ð& ó &ð¨ó ò	Iör   r   )r.   r   r   r   Útwilio.auth_strategy.auth_typer   Ú"twilio.auth_strategy.auth_strategyr   Útwilio.http.token_managerr   r   r#   r   r   ú<module>r@      s&   ðÛ 
Û Û Ý å 3Ý ;Ý 2ô*˜õ *r   