Ë
    [üàgj  ã                   ó�   — d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlm
Z  G d„ de«      Z G d	„ d
e«      Zy)é    )ÚLogger)ÚAnyÚDictÚOptionalÚTuple)Ú	urlencode)ÚResponse©ÚTwilioException)ÚRequestc                   óØ   — e Zd Zddededee   fd„Z	 	 	 	 	 	 	 ddededee	ee
f      d	ee	ee
f      d
ee	eef      deeeef      dee   dedefd„Zde	eef   ddfd„Zdededdfd„Zy)Ú
HttpClientNÚloggerÚis_asyncÚtimeoutc                 ón   — || _         || _        |�|dk  rt        |«      ‚|| _        d| _        d| _        y)a  
        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       úR/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/twilio/http/__init__.pyÚ__init__zHttpClient.__init__   s@   € ð ˆŒØ ˆŒàÐ 7¨a¢<Ü˜WÓ%Ð%ØˆŒà@DˆÔ$ØBFˆÕ%ó    ÚmethodÚuriÚparamsÚdataÚheadersÚauthÚallow_redirectsÚreturnc	                 ó   — t        d«      ‚)z'
        Make an HTTP request.
        zHttpClient is an abstract classr
   ©	r   r   r   r   r   r   r   r   r    s	            r   ÚrequestzHttpClient.request$   s   € ô Ð?Ó@Ð@r   Úkwargsc           
      ó¦  — | j                   j                  d«       |d   rl| j                   j                  dj                  |d   |d   t        |d   «      «      «       | j                   j                  dj                  |d   «      «       n1| j                   j                  dj                  |d   |d   «      «       |d   rt| j                   j                  d	«       |d   j	                  «       D ]C  \  }}d
|j                  «       vsŒ| j                   j                  dj                  ||«      «       ŒE | j                   j                  d«       y)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_requestzHttpClient.log_request4   s&  € ð 	�‰×ÑÐ9Ô:à�(ÒØ�K‰K×ÑØ#×*Ñ*Ø˜8Ñ$ f¨U¡m´Y¸vÀhÑ?OÓ5Póôð
 �K‰K×ÑÐ/×6Ñ6°v¸hÑ7GÓHÕIà�K‰K×ÑÐ-×4Ñ4°V¸HÑ5EÀvÈeÁ}ÓUÔVà�)ÒØ�K‰K×Ñ˜ZÔ(Ø$ YÑ/×5Ñ5Ó7ò C‘
��Uà"¨#¯)©)«+Ò5Ø—K‘K×$Ñ$ Y×%5Ñ%5°c¸5Ó%AÕBðCð
 	�‰×ÑÐ7Õ8r   Ústatus_codeÚresponsec                 óÀ   — | j                   j                  dj                  |«      «       | j                   j                  dj                  |j                  «      «       y)z(
        Logs the HTTP response
        zResponse Status Code: {}zResponse Headers: {}N)r   r)   r*   r   )r   r0   r1   s      r   Úlog_responsezHttpClient.log_responseM   sF   € ð 	�‰×ÑÐ3×:Ñ:¸;ÓGÔHØ�‰×ÑÐ/×6Ñ6°x×7GÑ7GÓHÕIr   )N©NNNNNF)Ú__name__Ú
__module__Ú__qualname__r   Úboolr   Úfloatr   Ústrr   Úobjectr   ÚTwilioResponser$   r   r/   Úintr	   r3   © r   r   r   r      s  „ ñG˜vð G°ð GÀÈÁó Gð&ð /3Ø,0Ø,0Ø*.Ø#'Ø %ñAàðAð ðAð ˜˜c 6˜kÑ*Ñ+ð	Að
 �t˜C ˜KÑ(Ñ)ðAð ˜$˜s C˜x™.Ñ)ðAð �u˜S #˜X‘Ñ'ðAð ˜%‘ðAð ðAð 
óAð 9 $ s¨C x¡.ð 9°Tó 9ð2J¨ð J°xð JÀDô Jr   r   c                   ó�   — e Zd ZdZ	 	 	 	 	 	 ddededeeeef      deeeef      deeeef      deeeef      d	ee	   d
e
defd„Zy)ÚAsyncHttpClientzE
    An abstract class representing an asynchronous HTTP client.
    Nr   r   r   r   r   r   r   r    r!   c	              ƒ   ó    K  — t        d«      ‚­w)z4
        Make an asynchronous HTTP request.
        z$AsyncHttpClient is an abstract classr
   r#   s	            r   r$   zAsyncHttpClient.requestZ   s   è ø€ ô ÐDÓEÐEùs   ‚r4   )r5   r6   r7   Ú__doc__r:   r   r   r;   r   r9   r8   r<   r$   r>   r   r   r@   r@   U   s¼   „ ñð /3Ø,0Ø,0Ø*.Ø#'Ø %ñFàðFð ðFð ˜˜c 6˜kÑ*Ñ+ð	Fð
 �t˜C ˜KÑ(Ñ)ðFð ˜$˜s C˜x™.Ñ)ðFð �u˜S #˜X‘Ñ'ðFð ˜%‘ðFð ðFð 
ôFr   r@   N)Úloggingr   Útypingr   r   r   r   Úurllib.parser   Úrequestsr	   Útwilio.base.exceptionsr   Útwilio.http.requestr   ÚTwilioRequestÚtwilio.http.responser<   r;   r   r@   r>   r   r   ú<module>rK      s<   ðÝ ß -Ó -Ý "å å 2Ý 8Ý ;ôFJ�ô FJôRF�jõ Fr   