
    jq)j                    P    d dl mZ d dlZd dlZd dlmZ d dlZ G d d          ZdS )    )annotationsN)Anyc                  (    e Zd Zddd	ZddZddZdS )
HttpClient            ?timeoutintretriesbackofffloatc                    || _         || _        || _        t          j                    | _        t          j        | j        j	                  | _
        d S N)r
   r   r   requestsSessionsessionlogging	getLogger	__class____name__log)selfr
   r   r   s       moviebot\http.py__init__zHttpClient.__init__   sB    '))$T^%<==    urlstrkwargsr   returnrequests.Responsec                   d }t          d| j        dz             D ]}	  | j        j        |fd| j        i|}|                                 |c S # t          j        $ rS}|}| j        	                    d|||           || j        k     rt          j        | j        |dz
  z             Y d }~d }~ww xY w|pt          d|           )N   r
   z%GET failed attempt=%s url=%s error=%szGET failed: )ranger   r   getr
   raise_for_statusr   RequestExceptionr   warningtimesleepr   RuntimeError)r   r   r   
last_errorattemptresponseexcs          r   r%   zHttpClient.get   s    '+
Qq 011 		> 		>G>+4<+CPPPPP))+++, > > > 
  !H'SVX[\\\T\))Jt|!<===	>
 >L)=)=)=>>>s   /AB2A	B--B2dict[str, Any]c                B     | j         |fi |                                S r   )r%   json)r   r   r   s      r   get_jsonzHttpClient.get_json    s(    tx&&v&&++---r   N)r   r   r	   )r
   r   r   r   r   r   )r   r   r   r   r    r!   )r   r   r   r   r    r0   )r   
__module____qualname__r   r%   r3    r   r   r   r   
   sU        > > > > >? ? ? ?. . . . . .r   r   )
__future__r   r   r)   typingr   r   r   r6   r   r   <module>r9      sv    " " " " " "         . . . . . . . . . .r   