ó
    €Ï  ã                   ó&   • S r SSKJr  SSKJr  S rg)z Retry logic for HTTP exceptions.é    )Ú
exceptions)Úretryc                 ó   ^ • U 4S jnU$ )zDDecorator factory to automatically retry a function for HTTP errors.c                 ó&   >^ ^• U4S jmU U4S jnU$ )z<Decorator to automatically retry a function for HTTP errors.c                 óV   >• U [         R                  :H  =(       a    UR                  T:H  $ )N)r   Ú	HttpErrorÚstatus_code)Úexc_typeÚ	exc_valueÚunused_tracebackÚunused_stateÚstatuss       €Ú-lib/googlecloudsdk/api_lib/util/http_retry.pyÚretryIfÚFRetryOnHttpStatus.<locals>.RetryOnHttpStatusAttribute.<locals>.retryIf   s)   ø€ Øœ*×.Ñ.Ñ.÷ .Ø×#Ñ# vÑ-ð/ó    c                  óT   >• [         R                  " SSSS9nUR                  TXTSS9$ )Né   é   éd   )Úmax_retrialsÚexponential_sleep_multiplierÚ	jitter_msiè  )Úshould_retry_ifÚsleep_ms)r   ÚRetryerÚRetryOnException)ÚargsÚkwargsÚretryerÚfuncr   s      €€r   ÚwrapperÚFRetryOnHttpStatus.<locals>.RetryOnHttpStatusAttribute.<locals>.wrapper#   s;   ø€ Ü—’¨1È1Ø(+ñ-€gà×%Ñ% d¨DØ6=Èð &ð Nð Nr   © )r!   r"   r   r   s   ` @€r   ÚRetryOnHttpStatusAttributeÚ5RetryOnHttpStatus.<locals>.RetryOnHttpStatusAttribute   s   ú€ õ/ö
Nð
 €Nr   r$   )r   r%   s   ` r   ÚRetryOnHttpStatusr'      s   ø€ õð 
$Ð#r   N)Ú__doc__Úapitools.base.pyr   Úgooglecloudsdk.core.utilr   r'   r$   r   r   Ú<module>r+      s   ðñ  'õ (å *ó$r   