§
     @gu  ã                   ó  — d dl mZmZ d dlZd dlmZmZ d dlmZ d dl	m
Z
 ddlmZ  ej        e¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    )ÚABCÚabstractmethodN)ÚListÚUnion)ÚFastAPI)ÚResponseé   )ÚQueueClientBasec                   óF   — e Zd Zededededeedf         fd„¦   «         ZdS )ÚRequestFilterBaseÚ
request_idÚrequest_jsonÚrequest_headersÚreturnNc              ƒ   ó
   K  — d S ©N© )Úselfr   r   r   s       úA/var/www/piapp/venv/lib/python3.11/site-packages/aiproxy/proxy.pyÚfilterzRequestFilterBase.filter   ó   è è € àˆó    ©Ú__name__Ú
__module__Ú__qualname__r   ÚstrÚdictr   r   r   r   r   r   r      s\   € € € € € Øð sð ¸$ð ÐQUð ÐZ_Ð`cÐeiÐ`iÔZjð ð ð ñ „^ðð ð r   r   c            	       óB   — e Zd Zedededeedf         fd„¦   «         ZdS )ÚResponseFilterBaser   Úresponse_jsonr   Nc              ƒ   ó
   K  — d S r   r   )r   r   r!   s      r   r   zResponseFilterBase.filter   r   r   r   r   r   r   r    r       sQ   € € € € € Øð sð ¸4ð ÀEÈ$ÐPTÈ*ÔDUð ð ð ñ „^ðð ð r   r    c                   ó$   — e Zd Zddededdfd„ZdS )ÚFilterExceptioné�  ÚmessageÚstatus_coder   Nc                 ó"   — || _         || _        d S r   )r&   r'   )r   r&   r'   s      r   Ú__init__zFilterException.__init__   s   € ØˆŒØ&ˆÔÐÐr   )r%   )r   r   r   r   Úintr)   r   r   r   r$   r$      sB   € € € € € ð'ð ' ð '°#ð 'Àð 'ð 'ð 'ð 'ð 'ð 'r   r$   c                   ó   — e Zd ZdS )ÚRequestFilterExceptionN©r   r   r   r   r   r   r,   r,      ó   € € € € € € € r   r,   c                   ó   — e Zd ZdS )ÚResponseFilterExceptionNr-   r   r   r   r0   r0   "   r.   r   r0   c                   ó”   — e Zd Zdddœdee         dee         defd„Zdeeef         fd„Z	dd	e
d
edefd„Zededefd„¦   «         ZdS )Ú	ProxyBaseN)Úrequest_filtersÚresponse_filtersr3   r4   Úaccess_logger_queuec                ó8   — |pg | _         |pg | _        || _        d S r   )r3   r4   r5   )r   r3   r4   r5   s       r   r)   zProxyBase.__init__&   s.   € ð  /Ð4°"ˆÔØ 0Ð 6°BˆÔð $7ˆÔ Ð Ð r   r   c                 ó´  — t          |t          ¦  «        rC| j                             |¦  «         t                               d|j        j        › �¦  «         d S t          |t          ¦  «        rC| j	                             |¦  «         t                               d|j        j        › �¦  «         d S t           
                    d|j        j        › �¦  «         d S )Nzrequest filter: zresponse filter: zInvalid filter: )Ú
isinstancer   r3   ÚappendÚloggerÚinfoÚ	__class__r   r    r4   Úwarning)r   r   s     r   Ú
add_filterzProxyBase.add_filter4   sÍ   € Ý�fÕ/Ñ0Ô0ð 	KØÔ ×'Ò'¨Ñ/Ô/Ð/Ý�KŠKÐF¨6Ô+;Ô+DÐFÐFÑGÔGÐGÐGÐGÝ˜Õ 2Ñ3Ô3ð 	KØÔ!×(Ò(¨Ñ0Ô0Ð0Ý�KŠKÐG¨FÔ,<Ô,EÐGÐGÑHÔHÐHÐHÐHå�NŠNÐI¨fÔ.>Ô.GÐIÐIÑJÔJÐJÐJÐJr   Úresponser   Úheadersc                 ój   — ||j         d<   |r$|                     ¦   «         D ]\  }}||j         |<   Œd S d S )NzX-AIProxy-Request-Id)r@   Úitems)r   r?   r   r@   ÚkÚvs         r   Úadd_response_headerszProxyBase.add_response_headers>   sW   € Ø3=ˆÔÐ/Ñ0Øð 	(ØŸš™œð (ð (‘��1Ø&'�Ô  Ñ#Ð#ð	(ð 	(ð(ð (r   ÚappÚbase_urlc                 ó   — d S r   r   )r   rF   rG   s      r   Ú	add_routezProxyBase.add_routeD   s   € àˆr   r   )r   r   r   r   r   r    r
   r)   r   r>   r   r   r   rE   r   r   rI   r   r   r   r2   r2   %   sí   € € € € € ð 48Ø59ð	7ð 7ð 7ð Ð/Ô0ð7ð Ð1Ô2ð	7ð
 -ð7ð 7ð 7ð 7ðK Ð'8Ð:LÐ'LÔ!Mð Kð Kð Kð Kð(ð (¨Xð (À3ð (ÐQUð (ð (ð (ð (ð ð˜Wð °ð ð ð ñ „^ðð ð r   r2   )Úabcr   r   ÚloggingÚtypingr   r   Úfastapir   Úfastapi.responsesr   Úqueueclientr
   Ú	getLoggerr   r:   r   r    Ú	Exceptionr$   r,   r0   r2   r   r   r   ú<module>rR      sr  ðØ #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø €€€Ø Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø (Ð (Ð (Ð (Ð (Ð (ð 
ˆÔ	˜8Ñ	$Ô	$€ðð ð ð ð ˜ñ ô ð ðð ð ð ð ˜ñ ô ð ð'ð 'ð 'ð 'ð '�iñ 'ô 'ð 'ð 3Ð 2Ð 2Ð 2Ð 2˜_Ñ 2Ô 2Ð 2ð 4Ð 3Ð 3Ð 3Ð 3˜oÑ 3Ô 3Ð 3ð!ð !ð !ð !ð !�ñ !ô !ð !ð !ð !r   