
    gj                         S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJ
r   " S S\5      r " S	 S
\5      rg)    )Logger)AnyDictOptionalTuple)	urlencode)ResponseTwilioException)Requestc                       \ rS rSrSS\S\S\\   4S jjr       SS\	S\	S	\\
\	\4      S
\\
\	\4      S\\
\	\	4      S\\\	\	4      S\\   S\S\4S jjrS\
\	\4   SS4S jrS\S\SS4S jrSrg)
HttpClient   Nloggeris_asynctimeoutc                 l    Xl         X l        Ub  US::  a  [        U5      eX0l        SU l        SU l        g)z
Constructor for the abstract HTTP client

:param logger
:param is_async: Whether the client supports async request calls.
:param timeout: Timeout for the requests.
                Timeout should never be zero (0) or less.
Nr   )r   r   
ValueErrorr   _test_only_last_request_test_only_last_response)selfr   r   r   s       \/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/twilio/http/__init__.py__init__HttpClient.__init__   s:      7a<W%%@D$BF%    methoduriparamsdataheadersauthallow_redirectsreturnc	                     [        S5      e)z
Make an HTTP request.
zHttpClient is an abstract classr
   	r   r   r   r   r   r    r!   r   r"   s	            r   requestHttpClient.request$   s     ?@@r   kwargsc           
         U R                   R                  S5        US   (       al  U R                   R                  SR                  US   US   [        US   5      5      5        U R                   R                  SR                  US   5      5        O1U R                   R                  SR                  US   US   5      5        US   (       aw  U R                   R                  S	5        US   R	                  5        HE  u  p#S
UR                  5       ;  d  M  U R                   R                  SR                  X#5      5        MG     U R                   R                  S5        g)z
Logs the HTTP request
z-- BEGIN Twilio API Request --r   z{} Request: {}?{}r   urlzQuery Params: {}z{} Request: {}r    zHeaders:authorizationz{} : {}z-- END Twilio API Request --N)r   infoformatr   itemslower)r   r(   keyvalues       r   log_requestHttpClient.log_request4   s    	9:(KK#**8$fUmYvh?O5P
 KK/66vh7GHIKK-44VH5Eve}UV)KKZ($Y/557
"#))+5KK$$Y%5%5c%AB 8
 	78r   status_coderesponsec                     U R                   R                  SR                  U5      5        U R                   R                  SR                  UR                  5      5        g)z
Logs the HTTP response
zResponse Status Code: {}zResponse Headers: {}N)r   r,   r-   r    )r   r4   r5   s      r   log_responseHttpClient.log_responseM   sF     	3::;GH/66x7G7GHIr   )r   r   r   r   r   )NNNNNNF)__name__
__module____qualname____firstlineno__r   boolr   floatr   strr   objectr   TwilioResponser&   r   r2   intr	   r7   __static_attributes__ r   r   r   r      s   Gv G G G& /3,0,0*.#' %AA A c6k*+	A
 tCK()A $sCx.)A uS#X'A %A A 
A 9$sCx. 9T 92J Jx JD Jr   r   c                       \ rS rSrSr      SS\S\S\\\\4      S\\\\4      S\\\\4      S	\\	\\4      S
\\
   S\S\4S jjrSrg)AsyncHttpClientU   z=
An abstract class representing an asynchronous HTTP client.
Nr   r   r   r   r    r!   r   r"   r#   c	                     #    [        S5      e7f)z$
Make an asynchronous HTTP request.
z$AsyncHttpClient is an abstract classr
   r%   s	            r   r&   AsyncHttpClient.requestZ   s      DEEs   rE   r9   )r:   r;   r<   r=   __doc__r@   r   r   rA   r   r?   r>   rB   r&   rD   rE   r   r   rG   rG   U   s     /3,0,0*.#' %FF F c6k*+	F
 tCK()F $sCx.)F uS#X'F %F F 
F Fr   rG   N)loggingr   typingr   r   r   r   urllib.parser   requestsr	   twilio.base.exceptionsr   twilio.http.requestr   TwilioRequesttwilio.http.responserB   rA   r   rG   rE   r   r   <module>rT      s<     - - "  2 8 ;FJ FJRFj Fr   