
    j                     @   d dl Z d dlZd dlZd dlmZ dZdZdZdZdZ	dgZ
e j                  dej                  fd       Zdej                  fd	Zd
edefdZ ej$                   ej&                  d       ej(                  ddd       ej*                  e            Zy)    N)hooks
      d   i  returnc                      t               S )N)get     m/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/s3_httpx_client.py
get_cachedr      s	    5Lr   c                  <   t        j                  t              } t        j                  t        t
        t        t              }| |d}t        j                  j                  |      }t        j                  di |}t        j                  j                  |       |S )N)keepalive_expiry)connectreadwritepool)limitstimeoutr
   )httpxLimitsKEEPALIVE_EXPIRY_SECONDSTimeoutCONNECT_TIMEOUT_SECONDSREAD_TIMEOUT_SECONDSWRITE_TIMEOUT_SECONDSPOOL_TIMEOUT_SECONDSr   httpx_client_hookbuild_init_argumentsClientapply_httpx_client_hooks)r   r   kwargsclients       r   r	   r	      s|    \\+CDFmm'!#!	G F $$99&AF\\#F#F	44V<Mr   	exceptionc                     t        | t        j                  t        j                  f      ryt        | t        j                        r| j
                  j                  t        v ryy)NTF)
isinstancer   ConnectErrorTimeoutExceptionHTTPStatusErrorresponsestatus_codeRETRYABLE_STATUS_CODES)r$   s    r   _allowed_to_retryr-   .   sT    ""	
 )U223))-CCr         -   )
multiplierminmax)stopwaitretry)	functoolsr   tenacityopikr   r   r   r   r   r   r,   	lru_cacher    r   r	   	Exceptionboolr-   r6   stop_after_attemptwait_exponentialretry_if_exceptions3_retryr
   r   r   <module>rA      s              ELL  U\\ 0 t " 8>>	$	$	$Q	'	"	"	"aRR	@
%(
%
%&7
8r   