
    ^h                     ^    S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S SKJ	r	   " S S\5      r
g)	    )HTTPExceptionN)verbose_logger)	DualCache)CustomLogger)UserAPIKeyAuthc                   :    \ rS rSrS rS rS\S\S\S\	4S jr
S	rg
)_PROXY_CacheControlCheck   c                     g )N )selfs    a/home/james-whalen/.local/lib/python3.13/site-packages/litellm/proxy/hooks/cache_control_check.py__init__!_PROXY_CacheControlCheck.__init__   s        c                 B    [         R                  SL a  [        U5        g g )NT)litellmset_verboseprint)r   print_statements     r   print_verbose&_PROXY_CacheControlCheck.print_verbose   s    $&/" 'r   user_api_key_dictcachedata	call_typec                   #     U R                  S5        UR                  nUR                  SS 5      c  g UR                  SS 5      n[        U[        5      (       aZ  UR                  5        HE  u  pxUc  M
  [        U[        5      (       d  M!  [        U5      S:  d  M2  Xu;  d  M9  [        SSU S3S9e   g g ! [         a  n	U	eS n	A	f[         a8  n	[        R                  " SR                  [        U	5      5      5         S n	A	g S n	A	ff = f7f)	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   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_hook,_PROXY_CacheControlCheck.async_pre_call_hook   s      	IJ%6%M%M"xx&.'40J*d++&,,.DA/;'(>EE 67!;;+(+%8;t#u  /  	G 	$$krrF 	s\   D0B7 D=B7 6B7 B7 B7 %B7 5D7
DCD.D>DDDr   N)__name__
__module____qualname____firstlineno__r   r   r   r   r#   r*   r/   __static_attributes__r   r   r   r	   r	      s7    #')' ' 	'
 'r   r	   )fastapir   r   r   litellm.caching.cachingr   "litellm.integrations.custom_loggerr   litellm.proxy._typesr   r	   r   r   r   <module>r:      s%   
 "  " - ; /0| 0r   