o
    tf	                     @   sP   d dl Z d dlmZ d dlmZ d dlmZ G dd deZG dd deZ	dS )	    N)JupyterHandler)url_path_join)webc                   @   s"   e Zd Zdd Zejdd ZdS )ServersInfoHandlerc                 C   s
   || _ d S )N)server_processes)selfr    r   a/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/jupyter_server_proxy/api.py
initialize	   s   
zServersInfoHandler.initializec                    sx   g }| j D ],}|j|jj|jj|jjd|jd}|jjr-t| j	dd|j}||d d< |
| q| d|i d S )N)enabledtitle	path_info)namelauncher_entrynew_browser_tabzserver-proxyiconr   icon_urlr   )r   r   r   r   r   r   r   Z	icon_pathujoinbase_urlappendwrite)r   dataspitemr   r   r   r	   get   s   
	zServersInfoHandler.getN)__name__
__module____qualname__r
   r   authenticatedr   r   r   r   r	   r      s    r   c                   @   s    e Zd ZdZdd Zdd ZdS )IconHandlerz
    Serve launcher icons
    c                 C   s
   || _ dS )z4
        icons is a dict of titles to paths
        N)icons)r   r    r   r   r	   r
   +   s   
zIconHandler.initializec                    s   || j vrtd| j | }t|\}}|dkrd}n|d ur%d}n	|d ur,|}nd}t| j | }| |  W d    n1 sGw   Y  | d| d S )Ni  gzipzapplication/gzipzapplication/octet-streamzContent-Type)	r    r   	HTTPError	mimetypes
guess_typeopenr   readZ
set_header)r   r   pathZ	mime_typeencodingcontent_typefr   r   r	   r   1   s    


zIconHandler.getN)r   r   r   __doc__r
   r   r   r   r   r	   r   &   s    r   )
r#   Zjupyter_server.base.handlersr   Zjupyter_server.utilsr   r   tornador   r   r   r   r   r   r	   <module>   s    