o
    "4g                     @   s6   d dl Z d dlmZ ddlmZmZ G dd dZdS )    N)Optional   )PyJWKSetPyJWTSetWithTimestampc                   @   sP   e Zd ZdeddfddZdeddfddZdee fd	d
Zde	fddZ
dS )JWKSetCachelifespanreturnNc                 C   s   d | _ || _d S N)jwk_set_with_timestampr   )selfr    r   Z/var/www/html/authentication-server/venv/lib/python3.10/site-packages/jwt/jwk_set_cache.py__init__   s   
zJWKSetCache.__init__jwk_setc                 C   s    |d urt || _d S d | _d S r	   )r   r
   )r   r   r   r   r   put   s   
zJWKSetCache.putc                 C   s    | j d u s	|  rd S | j  S r	   )r
   
is_expiredget_jwk_setr   r   r   r   get   s   
zJWKSetCache.getc                 C   s,   | j d uo| jdkot | j  | j kS )N)r
   r   time	monotonicget_timestampr   r   r   r   r      s   
zJWKSetCache.is_expired)__name__
__module____qualname__intr   r   r   r   r   boolr   r   r   r   r   r      s
    r   )r   typingr   api_jwkr   r   r   r   r   r   r   <module>   s    