
    vg                     >   d Z ddlZddlZddlZddlmc mZ ddlmc mZ ddl	mc m
Z
 ddlmZ ej        ZddlmZ  G d d          Z ej        dej                  Z ej        dej                  Z ej        d	ej                  Zej        Zej        Zd
 ZdS )zA$Id: default_handler.py,v 1.8 2002/08/01 18:15:45 akuchling Exp $    N)	html_repr)counterc                   X    e Zd ZddgZdZddgZej        Zd Z	dZ
d Zd	 Zd
 Zd Zd ZdS )default_handlerGETHEADzDefault HTTP Request Handlerz
index.htmlzdefault.htmlc                     || _         t                      | _        t                      | _        t                      | _        d S )N)
filesystemr   hit_counterfile_countercache_counter)selfr
   s     ^/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/supervisor/medusa/default_handler.py__init__zdefault_handler.__init__5   s3    $"99#II$YY    r   c                 @    d| j         | j        t          |           fz  S )Nz<%s (%s hits) at %x>)IDENTr   idr   s    r   __repr__zdefault_handler.__repr__@   s(    %
 D		)  	r   c                     dS )N    )r   requests     r   matchzdefault_handler.matchH   s    qr   c                    |j         | j        vr|                    d           d S | j                                         |                                \  }}}}d|v rt          |          }|r$|d         dk    r|dd          }|r|d         dk    | j                            |          r|r>|d         dk    r2d|j	        j
        j        d|d|d<   |                    d	           d S d}|r|d         dk    r|dz  }| j        D ]'}||z   }| j                            |          r|}d} n(|s|                    d
           d S n1| j                            |          s|                    d
           d S | j                            |          t          j                 }	t!          t"          |j                  }
d}|
r7|
                    d          }|r 	 t)          |          }||	k    rd}n#  Y nxY wd}|
r't+          j        |
                    d                    }	 | j                            |          t          j                 }n#  |                    d
           Y d S xY w|r>|r<||k    r6d|_        |                                 | j                                         d S 	 | j                            |d          }n&# t8          $ r |                    d
           Y d S w xY wt+          j        |          |d<   |	|d<   |                     ||           |j         dk    r(|                    |                      |                     | j!                                         |                                 d S )Ni  %r   /r   zhttp://Locationi-  i     i0  rbzLast-ModifiedzContent-Lengthr   )"commandvalid_commandserrorr   	increment	split_uriunquoter
   isdirchannelserverserver_namedirectory_defaultsisfilestatST_SIZEget_header_matchIF_MODIFIED_SINCEheadergroupint	http_dateparse_http_dateST_MTIME
reply_codedoner   openIOErrorbuild_http_dateset_content_typepushdefault_file_producerr   )r   r   pathparamsqueryfragmentfounddefaultpfile_lengthimslength_matchlengthims_datemtimefiles                   r   handle_requestzdefault_handler.handle_requestM   s   ?$"555MM3F""$$$(/(9(9(;(;%feX$;;D>>D  	tAw#~~8D  	tAw#~~ ?  $'' 	 RC.:::'
# s###
 E RC2  7N?))1-- DEE  s### ''.. 	MM3Fo**D11$,? 17>BB 	YY]]F  [[F,,'(D 	A 0#))Q--@@H	O(($//>EE	MM3FF 	H 	  %("",,...	?''t44DD 	 	 	MM3FF	 $-#<e#D#D $/ !tW---?e##LL$44d;;<<<##%%%s*   G2 2G6%*I I*.K
 
K-,K-c                 P    t          j        |          \  }}|||d<   d S d|d<   d S )NzContent-Typez
text/plain)	mimetypes
guess_type)r   rA   r   typencodings        r   r>   z default_handler.set_content_type   s=    !,T22X?&)GN### '3GN###r   c                     t          j        dt          |           z  dz   d| j        z  z   d| j        z  z   d| j        z  z   dz             S )Nz<li>%sz<ul>z  <li><b>Total Hits:</b> %sz   <li><b>Files Delivered:</b> %sz  <li><b>Cache Hits:</b> %sz</ul>)	producerssimple_producerr   r   r   r   r   s    r   statuszdefault_handler.status   sp    (9d+++/$BRRS 5$:KKL 0$BTT	U
   	r   N)__name__
__module____qualname__r$   r   r-   rV   file_producerr@   r   r   r   r   rO   r>   rX   r   r   r   r   r   '   s        V_N*E 
 &3' ' ' K    
\ \ \|3 3 3    r   r   z2If-Modified-Since: ([^;]+)((; length=([0-9]+)$)|$)zUser-Agent: (.*)zDContent-Type: ([^;]+)((; boundary=([A-Za-z0-9\'\(\)+_,./:=?-]+)$)|$)c                     |                      d          }|                      d          }||k    r| |dz   d          S dS )Nr   .r    )rfind)rA   dirsepdotseps      r   get_extensionrc      s@    ZZ__FZZ__FF1HIIrr   )RCS_IDrQ   rer/   supervisor.medusa.http_datemedusar6   supervisor.medusa.http_serverhttp_serversupervisor.medusa.producersrV   supervisor.medusa.utilr   r(   supervisor.medusa.counterr   r   compile
IGNORECASEr2   
USER_AGENTCONTENT_TYPE
get_headerr1   rc   r   r   r   <module>rr      s\   
M     				  0 / / / / / / / / 3 3 3 3 3 3 3 3 3 / / / / / / / / / , , , , , ,

 . - - - - -U U U U U U U Ut BJ<

 
 
 RZ+R];;
rzO

 

 #
/     r   