
    Hh*                         d dl Z d dlZd dlmZmZmZ d dlZ G d de      Zdde	dee	e	f   dee	ef   de
d	ee	ef   f
d
Zdde	dee	e	f   dee	ef   deee	ef      d	ee	ef   f
dZd	efdZd	e
fdZy)    N)DictAnyOptionalc                   (     e Zd Zdedef fdZ xZS )	HttpErrorstatuspayloadc                 L    t         |   d| d|        || _        || _        y )NzHTTP z: )super__init__r   r	   )selfr   r	   	__class__s      K/var/www/html/hubwallet-dev/src/marketing/core/Analytics/providers/utils.pyr   zHttpError.__init__   s+    57)45    )__name__
__module____qualname__intr   r   __classcell__)r   s   @r   r   r      s    s S  r   r   urlheadersparamsretriesreturnc                    t        |      D ]  }t        j                  | ||d      }|j                  dk(  sd|j                  cxk  rdk  rn nt	        j
                  d|z         \|j                  st        |j                  t        |            t        |      c S  t        j                  t        |            )N   )r   r   timeouti  i  iX     )	rangerequestsgetstatus_codetimesleepokr   	safe_json)r   r   r   r   irs         r   http_getr)      s    7^ LLgfbI==C3!--#=##=JJqAvttAMM9Q<88| AMM9Q<
00r   data	json_bodyc                     t        j                  | |||nd |d      }|j                  st        |j                  t        |            t        |      S )Nr   )r   r*   jsonr   )r    postr%   r   r"   r&   )r   r   r*   r+   r(   s        r   	http_postr/      sH    c79JPT[dnpqA44y|44Q<r   c                 Z    	 | j                         S # t        $ r | j                  cY S w xY wN)r-   	Exceptiontext)resps    r   r&   r&      s,    yy{ yys    **c                 (    	 t        |       S #  Y yxY w)Nr   )r   )xs    r   	clamp_intr7   $   s    1vs   
 )   r1   )r#   r-   typingr   r   r   r    r2   r   strr   r)   r/   r&   r7    r   r   <module>r<      s      & & 	 	1# 	1S#X 	1S#X 	1QT 	1]abegjbj]k 	13 c3h tCH~ RZ[_`ceh`h[iRj txy|  B  zB  uC s C r   