
    gE                     b    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ  G d de	      Zy	)
    )HTTPException)verbose_logger)verbose_proxy_logger)	DualCache)CustomLogger)UserAPIKeyAuthc                   *    e Zd Zd ZdedededefdZy)_PROXY_CacheControlCheckc                      y )N )selfs    \/var/www/openai/venv/lib/python3.12/site-packages/litellm/proxy/hooks/cache_control_check.py__init__z!_PROXY_CacheControlCheck.__init__   s        user_api_key_dictcachedata	call_typec                   K   	 t        j                  d       |j                  }|j                  dd       y |j                  dd       }t	        |t
              rQ|j                         D ]=  \  }}|	t	        |t              st        |      dkD  s)||vs.t        dd| d       y y # t        $ r}	|	d }	~	wt        $ r7}	t        j                  dj                  t        |	                   Y d }	~	y d }	~	ww xY ww)	Nz(Inside Cache Control Check Pre-Call Hookr   r   i  zNot allowed to set z9 as a cache control. Contact admin to change permissions.)status_codedetailzYlitellm.proxy.hooks.cache_control_check.py::async_pre_call_hook(): Exception occured - {})r   debugallowed_cache_controlsget
isinstancedictitemslistlenr   	Exceptionr   	exceptionformatstr)
r   r   r   r   r   r   
cache_argskves
             r   async_pre_call_hookz,_PROXY_CacheControlCheck.async_pre_call_hook   s      	 &&'QR%6%M%M"xx&.'40J*d+&,,.DAq/;'(>E 67!;%;;+(+%8;t#u  /  	G 	$$krrF 	s\   C=3B, C=:B, 3B, B, B, B, *C=,	C:5B77C:-C50C=5C::C=N)	__name__
__module____qualname__r   r   r   r   r#   r(   r   r   r   r
   r
      s2    ')' ' 	'
 'r   r
   N)fastapir   litellmr   litellm._loggingr   litellm.caching.cachingr   "litellm.integrations.custom_loggerr   litellm.proxy._typesr   r
   r   r   r   <module>r2      s%   
 " " 1 - ; /,| ,r   