
    Awg                     <    d dl Z d dlmZ ddlmZmZ  G d d      Zy)    N)Optional   )PyJWKSetPyJWTSetWithTimestampc                   J    e Zd ZdeddfdZdeddfdZdee   fdZde	fdZ
y)	JWKSetCachelifespanreturnNc                      d | _         || _        y N)jwk_set_with_timestampr	   )selfr	   s     H/var/www/horilla/myenv/lib/python3.12/site-packages/jwt/jwk_set_cache.py__init__zJWKSetCache.__init__   s    GK#     jwk_setc                 8    |t        |      | _        y d | _        y r   )r   r   )r   r   s     r   putzJWKSetCache.put   s    *?*HD' +/D'r   c                 p    | j                   | j                         ry | j                   j                         S r   )r   
is_expiredget_jwk_setr   s    r   getzJWKSetCache.get   s/    &&.$//2C**6688r   c                     | j                   d uxrM | j                  dkD  xr< t        j                         | j                   j	                         | j                  z   kD  S )N)r   r	   time	monotonicget_timestampr   s    r   r   zJWKSetCache.is_expired   sX    ''t3 J"J ))779DMMIJ	
r   )__name__
__module____qualname__intr   r   r   r   r   boolr    r   r   r   r      sE    ! ! !/8 / /9Xh' 9
D 
r   r   )r   typingr   api_jwkr   r   r   r$   r   r   <module>r'      s      4
 
r   