
    g(0                       S SK Jr  S SKrS SKrS SKrS SKJr  S SKJr  S SK	J
r
JrJrJrJrJrJrJr  S SKJrJrJr  S SKJr  S SKJr  S	S
KJrJr  Sr\
(       a  S SKJ r   \RB                  S:  a  S SK	J"r"  OS SK#J"r"   " S S\"5      r$\\\4   r%\\%\\%   \\%S4   4   r&\\$\RN                  4   r(\S\\   4   r)\ " S S5      5       r* " S S5      r+SS jr, " S S5      r-g)    )annotationsN)abstractmethod)	dataclass)TYPE_CHECKINGAny	AwaitableCallable	GeneratorListTupleUnion)ClientResponseClientSessionhdrs)StrOrURL)URL   )ExponentialRetryRetryOptionsBasei  )TracebackType)      )Protocolc                  T    \ rS rSrSr\SS j5       r\SS j5       r\SS j5       rSr	g)	_Logger$   z8_Logger defines which methods logger object should have.c                    g N selfmsgargskwargss       \/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/aiohttp_retry/client.pydebug_Logger.debug'           c                    g r   r   r    s       r%   warning_Logger.warning+   r(   r)   c                    g r   r   r    s       r%   	exception_Logger.exception/   r(   r)   r   N)r"   strr#   r   r$   r   returnNone)
__name__
__module____qualname____firstlineno____doc__r   r&   r+   r.   __static_attributes__r   r)   r%   r   r   $   s?    B     r)   r   .c                  T    \ rS rSr% S\S'   S\S'   SrS\S'   SrS\S	'   SrS\S
'   Srg)RequestParams<   r0   method_RAW_URL_TYPEurlNzdict[str, Any] | Noneheaderstrace_request_ctxr$   r   )	r3   r4   r5   r6   __annotations__r?   r@   r$   r8   r   r)   r%   r:   r:   <   s/    K	%)G")/3,3$(F!(r)   r:   c                  |    \ rS rSr S
           SS jjrSS jrSS jrSS jrSS jr        SS jr	Sr
g	)_RequestContextE   c                p    [        U5      S:  d   eXl        X l        X0l        X@l        XPl        S U l        g )Nr   )len_request_func_params_list_logger_retry_options_raise_for_status	_response)r!   request_funcparams_listloggerretry_optionsraise_for_statuss         r%   __init___RequestContext.__init__F   s;     ;!###)'+!104r)   c                  #    XR                   R                  :X  a  gUR                  R                  5       U R                   R                  ;  a  gUR
                  [        :  a  U R                   R                  (       a  gUR
                  U R                   R                  ;   a  gU R                   R                  c  gU R                   R                  U5      I S h  vN $  N7f)NTF)
rJ   attemptsr<   uppermethodsstatus_MIN_SERVER_ERROR_STATUSretry_all_server_errorsstatusesevaluate_response_callback)r!   current_attemptresponses      r%   _is_skip_retry_RequestContext._is_skip_retryX   s     11:::??  "$*=*=*E*EE??664;N;N;f;f??d11:::99A((CCHMMMMs   CC"C C"c                @  ^#    Sn U R                   R                  SUS-    SU R                  R                   35        US-  n  U R                  US-
     nU R                  " UR                  UR                  4UR                  SU0UR                  =(       d    0 ES.UR                  =(       d    0 D6I S h  vN nSUR                   3nU R                  X5      I S h  vN nU(       a3  U R                  (       a  UR                  5         X0l        U R                   $ U R                  R#                  XS	9nU R                   R                  U5        [*        R,                  " U5      I S h  vN   GMo  ! [
         a    U R                  S   n GN:f = f N N! [$         au  mXR                  R                  :  a  e ['        U4S
 jU R                  R(                   5       5      nU(       d  e ST< 3nU R                  R#                  US S	9n S m@NS m@ff = f N7f)Nr   zAttempt r   z out of r]   )r?   r@   zRetrying after response code: )attemptr^   c              3  <   >#    U  H  n[        TU5      v   M     g 7fr   )
isinstance).0exces     r%   	<genexpr>._RequestContext._do_request.<locals>.<genexpr>   s     "`A_#:a#5#5A_s   zRetrying after exception: )rI   r&   rJ   rU   rH   
IndexErrorrG   r<   r>   r?   r@   r$   rX   r_   rK   rQ   rL   get_timeout	Exceptionany
exceptionsasynciosleep)	r!   r]   paramsr^   debug_message
skip_retry
retry_waitis_exc_validrh   s	           @r%   _do_request_RequestContext._do_requestj   s    LL/!*;)<HTEXEXEaEaDbcdq O$e3!../BCF 261C1CMMJJ	2 #NN)?'!339r'		2 }}*	2 	, #A@Q R#'#6#6#QQ
-- 113%-N>>)!00<<_<h
 LL}---
+++W  " 3!..r2F3	, R  	e"&9&9&B&BB""`ATATA_A_"``#"<QE B!00<<__c<d
	e ,s   AHE6 A"F :F;'F "F#=F  H!F :4H.H/H6FF FF F 
H$A+HHHHc                >    U R                  5       R                  5       $ r   )
__aenter__	__await__r!   s    r%   r{   _RequestContext.__await__   s     **,,r)   c                >   #    U R                  5       I S h  vN $  N7fr   )rw   r|   s    r%   rz   _RequestContext.__aenter__   s     %%''''s   c                   #    U R                   b7  U R                   R                  (       d  U R                   R                  5         g g g 7fr   )rL   closedcloser!   exc_typeexc_valexc_tbs       r%   	__aexit___RequestContext.__aexit__   s6      >>%dnn.C.CNN  " /D%s   AA)rI   rH   rK   rG   rL   rJ   N)F)rM   RequestFuncrN   list[RequestParams]rO   _LoggerTyperP   r   rQ   boolr1   r2   )r]   intr^   r   r1   r   )r1   r   )r1   z$Generator[Any, None, ClientResponse]r   ztype[BaseException] | Noner   zBaseException | Noner   zTracebackType | Noner1   r2   )r3   r4   r5   r6   rR   r_   rw   r{   rz   r   r8   r   r)   r%   rC   rC   E   s     "'5!5 )5 	5
 (5 5 
5$N$.,`-(#,# &# %	#
 
#r)   rC   c                   [        U [        [        45      (       a  U 4$ [        U [        5      (       a  [	        U 5      nO%[        U [        5      (       a  U nOSn[        U5      e[        U5      S:X  a  Sn[        U5      eU$ )Nz*you can pass url only by str or list/tupler   z>you can pass url by str or list/tuple with attempts count size)re   r0   YARL_URLlisttuple
ValueErrorrF   )r>   urlsr"   s      r%   _url_to_urlsr      sp    #X''v#tSz	C		:o
4yA~NoKr)   c                     \ rS rSr    S             SS jjr\SS j5       r  S       SS jjr  S           SS jjr  S         SS jjr	  S         SS jjr
  S         SS	 jjr  S         SS
 jjr  S         SS jjr  S         SS jjr  S         SS jjrSS jr  S           SS jjr  S       SS jjrSS jr        SS jrSS jrSrg) RetryClient   Nc                    Ub  UnS nO[        U0 UD6nSnXpl        Xl        U=(       d    [        R                  " S5      U l        U=(       d
    [        5       U l        X@l        g )NFaiohttp_retry)	r   _client_closedlogging	getLoggerrI   r   rJ   rK   )	r!   client_sessionrO   rP   rQ   r#   r$   clientr   s	            r%   rR   RetryClient.__init__   s`     %#FF"D3F3FF$*$Pg.?.?.P0=0SAQAS!1r)   c                    U R                   $ r   )rJ   r|   s    r%   rP   RetryClient.retry_options   s    """r)   c                $    U R                  UUUS9$ )NrN   rP   rQ   )_make_requestsr!   rN   rP   rQ   s       r%   requestsRetryClient.requests   s%     ""#'- # 
 	
r)   c                0    U R                   " SUUUUS.UD6$ N)r<   r>   rP   rQ   r   )_make_request)r!   r<   r>   rP   rQ   r$   s         r%   requestRetryClient.request   s2     !! 
'-	

 
 	
r)   c                L    U R                   " S[        R                  UUUS.UD6$ r   )r   r   METH_GETr!   r>   rP   rQ   r$   s        r%   getRetryClient.get   6     !! 
=='-	

 
 	
r)   c                L    U R                   " S[        R                  UUUS.UD6$ r   )r   r   METH_OPTIONSr   s        r%   optionsRetryClient.options  s8     !! 
$$'-	

 
 	
r)   c                L    U R                   " S[        R                  UUUS.UD6$ r   )r   r   	METH_HEADr   s        r%   headRetryClient.head  6     !! 
>>'-	

 
 	
r)   c                L    U R                   " S[        R                  UUUS.UD6$ r   )r   r   	METH_POSTr   s        r%   postRetryClient.post"  r   r)   c                L    U R                   " S[        R                  UUUS.UD6$ r   )r   r   METH_PUTr   s        r%   putRetryClient.put1  r   r)   c                L    U R                   " S[        R                  UUUS.UD6$ r   )r   r   
METH_PATCHr   s        r%   patchRetryClient.patch@  s6     !! 
??'-	

 
 	
r)   c                L    U R                   " S[        R                  UUUS.UD6$ r   )r   r   METH_DELETEr   s        r%   deleteRetryClient.deleteO  s8     !! 
##'-	

 
 	
r)   c                b   #    U R                   R                  5       I S h  vN   SU l        g  N7f)NT)r   r   r   r|   s    r%   r   RetryClient.close^  s'     ll  """ 	#s   /-/c                    [        U5      nU Vs/ s H0  n[        UUUR                  S0 5      UR                  SS 5      US9PM2     nnU R                  UUUS9$ s  snf )Nr?   r@   )r<   r>   r?   r@   r$   r   )r   r:   popr   )r!   r<   r>   rP   rQ   r$   url_listrN   s           r%   r   RetryClient._make_requestb  s      $  	
   

9b1"(**-@$"G   	 	
 ""#'- # 
 	
	
s   7Ac                    Uc  U R                   nUc  U R                  n[        U R                  R                  UU R
                  UUS9$ )N)rM   rN   rO   rP   rQ   )rJ   rK   rC   r   r   rI   r   s       r%   r   RetryClient._make_requests|  sQ       //M##55--#<<'-
 	
r)   c                   #    U $ 7fr   r   r|   s    r%   rz   RetryClient.__aenter__  s
     s   c                @   #    U R                  5       I S h  vN   g  N7fr   )r   r   s       r%   r   RetryClient.__aexit__  s      jjls   c                |    [        U SS 5      c  g U R                  (       d  U R                  R                  S5        g g )Nr   z#Aiohttp retry client was not closed)getattrr   rI   r+   r|   s    r%   __del__RetryClient.__del__  s3    4D)1||LL  !FG r)   )r   r   rI   rK   rJ   )NNNF)r   zClientSession | NonerO   z_LoggerType | NonerP   RetryOptionsBase | NonerQ   r   r#   r   r$   r   r1   r2   )r1   r   )NN)rN   r   rP   r   rQ   bool | Noner1   rC   )r<   r0   r>   r   rP   r   rQ   r   r$   r   r1   rC   )
r>   	_URL_TYPErP   r   rQ   r   r$   r   r1   rC   )r1   r2   )r<   r0   r>   r   rP   r   rQ   r   r$   r   r1   rC   )r1   r   r   )r3   r4   r5   r6   rR   propertyrP   r   r   r   r   r   r   r   r   r   r   r   r   rz   r   r   r8   r   r)   r%   r   r      sG    04%)15!&2,2 #2 /	2
 2 2 2 
2. # # 26(,	

(

 /

 &	


 


  26(,

 
 /	

 &
 
 

& 26(,	

 /
 &	

 
 

$ 26(,	

 /
 &	

 
 

$ 26(,	

 /
 &	

 
 

$ 26(,	

 /
 &	

 
 

$ 26(,	

 /
 &	

 
 

$ 26(,	

 /
 &	

 
 

$ 26(,	

 /
 &	

 
 

 26(,

 
 /	

 &
 
 

: 26(,	
(
 /
 &	

 

$, & %	
 
Hr)   r   )r>   r   r1   ztuple[StrOrURL, ...]).
__future__r   rp   r   sysabcr   dataclassesr   typingr   r   r   r	   r
   r   r   r   aiohttpr   r   r   aiohttp.typedefsr   yarlr   r   rP   r   r   rY   typesr   version_infor   typing_extensionsr   r=   r   Loggerr   r   r:   rC   r   r   r   r)   r%   <module>r      s    "   
  !	 	 	 8 7 %   = #v*h " h()-m!4eM3<N6OOP	GW^^+,sIn556 ) ) )b# b#J&bH bHr)   