a
    Dfl                     @  s   d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZmZ erd d	lmZ d d
lmZ eeZG dd deZdddZdS )    )annotationsN)TYPE_CHECKING)Document)BokehSessionContext_RequestProxy)ServerSession)settings)generate_jwt_tokengenerate_session_id)DocumentPatchedEvent)SessionCallbackc                   @  s6   e Zd ZdZdddddZddd	d
Zdd ZdS )ServerSessionStubzf
    Stubs out ServerSession methods since the session is only used for
    warming up the cache.
    r   None)eventreturnc                 C  s   d S N selfr   r   r   ]/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/panel/io/session.py_document_patched   s    z#ServerSessionStub._document_patchedr   )r   c                 C  s   d S r   r   r   r   r   r   _session_callback_added   s    z)ServerSessionStub._session_callback_addedc                 C  s   d S r   r   r   r   r   r   _session_callback_removed    s    z+ServerSessionStub._session_callback_removedN)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r      s   r   Tc                   s   t  }t  }t||d}|p"i }t||||d}t }t|d | t||d|d|dd _	| _
 fdd|_|r| | |jj}	t |j_t||d |d	}
|	|j_|
S )
N)
secret_keysigned)r   r   Zextra_payload	argumentscookiesheaders)r   r    r!   c                     s    S r   r   r   Zsession_contextr   r   <lambda>>       z"generate_session.<locals>.<lambda>)Zio_looptoken)r   Zsecret_key_bytessign_sessionsr
   r	   r   r   r   get_request_tokenZ_session_contextZinitialize_document	callbacksZ_session_callbackssetr   )ZapplicationrequestpayloadZ
initializer   r&   Z
session_idr%   docr*   sessionr   r"   r   generate_session#   sD    

r0   )NNT)
__future__r   loggingtypingr   Zbokeh.documentr   Zbokeh.server.contextsr   r   Zbokeh.server.sessionr   Zbokeh.settingsr   Zbokeh.util.tokenr	   r
   Zbokeh.document.eventsr   Zbokeh.server.callbacksr   	getLoggerr   logr   r0   r   r   r   r   <module>   s   
