
    g                        U d dl mZ d dlZd dlmZ d dlmZ d dlZd dl	m
Z
  e
e      Zded<   dZd	Z G d
 dej                   j"                        Zy)    )annotationsN)Path)Final)
get_loggerr   _LOGGERi  )z.jpgz.jpegz.pngz.pdfz.gifz.webpc                  <     e Zd Zdd fdZd fdZd ZddZ xZS )	AppStaticFileHandlerc                &    t         |   ||       y N)super
initialize)selfpathdefault_filename	__class__s      a/var/www/openai/venv/lib/python3.12/site-packages/streamlit/web/server/app_static_file_handler.pyr   zAppStaticFileHandler.initialize%   s    4!12    c                p   t         j                  j                  |      }t        |   ||      }t         j                  j                  |      rt        j                  j                  d      t         j                  j                  ||g      |k7  r4t        j                  d       t        j                  j                  d      t         j                  j                  |      rPt         j                  j                  |      t        kD  r*t        j                  j                  ddt         dd      |S )Ni  z>Serving files outside of the static directory is not supportedz.File is too large, its size should not exceed z byteszFile is too large)reason)osr   abspathr   validate_absolute_pathisdirtornadoweb	HTTPError
commonpathr   warningexistsgetsizeMAX_APP_STATIC_FILE_SIZE)r   rootabsolute_path	full_pathret_valr   s        r   r   z+AppStaticFileHandler.validate_absolute_path(   s    GGOOM2	'0}E77==#++'',,77y$/0D8OOP ++'',, GGNN9%	*-EE++''@+,F4*	 (   r   c                (    | j                  dd       y )NzAccess-Control-Allow-Origin*)
set_header)r   s    r   set_default_headersz(AppStaticFileHandler.set_default_headersE   s     	5s;r   c                    t        |      j                  t        vr| j                  dd       | j                  dd       y )NzContent-Typez
text/plainzX-Content-Type-Optionsnosniff)r   suffixSAFE_APP_STATIC_FILE_EXTENSIONSr(   )r   r   s     r   set_extra_headersz&AppStaticFileHandler.set_extra_headersJ   s2    :$CCOONL90)<r   r   )r   strr   
str | NonereturnNone)r"   r/   r#   r/   r1   r0   )r   r/   r1   r2   )__name__
__module____qualname__r   r   r)   r.   __classcell__)r   s   @r   r	   r	   $   s    3:<
=r   r	   )
__future__r   r   pathlibr   typingr   tornado.webr   streamlit.loggerr   r3   r   __annotations__r!   r-   r   StaticFileHandlerr	    r   r   <module>r?      sO    # 	    'H% %
 -  #U )=7;;88 )=r   