Ë
    cQêjž
  ã                   ó€   — d Z ddlZddlmZ ddlZddlmZmZ  ej                  e	«      Z
 G d„ d«      Z G d„ d	«      Zy)
úHTTP client.é    N)ÚAnyé   )ÚDDGSExceptionÚTimeoutExceptionc                   óf   — e Zd ZdZdZdeddfd„Zedefd„«       Z	edefd„«       Z
edefd	„«       Zy)
ÚResponsezHTTP response.)Ú_respÚcontentÚstatus_codeÚtextÚrespÚreturnNc                 óx   — || _         |j                  | _        |j                  | _        |j                  | _        y )N)r
   r   r   r   )Úselfr   s     úU/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/ddgs/http_client.pyÚ__init__zResponse.__init__   s-   € ØˆŒ
Ø×+Ñ+ˆÔØ—|‘|ˆŒØ—I‘Iˆ�	ó    c                 ó.   — | j                   j                  S )z#Get response body as Markdown text.)r
   Útext_markdown©r   s    r   r   zResponse.text_markdown   s   € ð �z‰z×'Ñ'Ð'r   c                 ó.   — | j                   j                  S )z Get response body as plain text.)r
   Ú
text_plainr   s    r   r   zResponse.text_plain   s   € ð �z‰z×$Ñ$Ð$r   c                 ó.   — | j                   j                  S )zGet response body as rich text.)r
   Ú	text_richr   s    r   r   zResponse.text_rich"   s   € ð �z‰z×#Ñ#Ð#r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r   ÚpropertyÚstrr   r   r   © r   r   r	   r	      sn   „ Ùà;€Ið˜Sð  Tó ð ð(˜sò (ó ð(ð ð%˜Cò %ó ð%ð ð$˜3ò $ó ñ$r   r	   c            
       ó†   — e Zd ZdZdddœdedz  dedz  deez  ddfd	„Zd
edede	fd„Z
ded
edede	fd„Zded
edede	fd„Zy)Ú
HttpClientr   NT)ÚverifyÚproxyÚtimeoutr&   r   c                óŒ   — t        j                  ||ddt        |t        «      r|ndt        |t        «      r|nd¬«      | _        y)a·  Initialize the HttpClient object.

        Args:
            proxy (str, optional): proxy for the HTTP client, supports http/https/socks5 protocols.
                example: "http://user:pass@example.com:3128". Defaults to None.
            timeout (int, optional): Timeout value for the HTTP client. Defaults to 10.
            verify: (bool | str):  True to verify, False to skip, or a str path to a PEM file. Defaults to True.

        ÚrandomTN)r'   r(   ÚimpersonateÚimpersonate_osr&   Úca_cert_file)ÚprimpÚClientÚ
isinstanceÚboolr"   Úclient)r   r'   r(   r&   s       r   r   zHttpClient.__init__+   s<   € ô —l‘lØØØ Ø#Ü'¨´Ô5‘6¸4Ü#-¨f´cÔ#:™Àô
ˆ�r   ÚargsÚkwargsc                 ó  — 	  | j                   j                  |i |¤Ž}t        |«      S # t        j                  $ r}t        |«      |‚d}~wt        $ r+}t        |«      j                  › d|›�}t        |«      |‚d}~ww xY w)z"Make a request to the HTTP client.Nz: )
r2   Úrequestr	   r.   ÚTimeoutErrorr   Ú	ExceptionÚtyper   r   )r   r3   r4   r   ÚexÚmsgs         r   r6   zHttpClient.request>   s€   € ð	-Ø&�4—;‘;×&Ñ&¨Ð7°Ñ7ˆDÜ˜D“>Ð!øÜ×!Ñ!ò 	/Ü" 2Ó&¨BÐ.ûÜò 	-Ü˜"“X×&Ñ&Ð' r¨"¨Ð0ˆCÜ Ó$¨"Ð,ûð	-ús    ‚&) ©A?¼AÁA?Á&A:Á:A?Úurlc                 ó0   —  | j                   d|g|¢­i |¤ŽS )z&Make a GET request to the HTTP client.ÚGET©r6   ©r   r<   r3   r4   s       r   ÚgetzHttpClient.getI   s   € àˆt�|‰|˜E 3Ð8¨Ò8°Ñ8Ð8r   c                 ó0   —  | j                   d|g|¢­i |¤ŽS )z'Make a POST request to the HTTP client.ÚPOSTr?   r@   s       r   ÚpostzHttpClient.postM   s   € àˆt�|‰|˜F CÐ9¨$Ò9°&Ñ9Ð9r   )Né
   )r   r   r   r   r"   Úintr1   r   r   r	   r6   rA   rD   r#   r   r   r%   r%   (   sš   „ Ùð
Ðcgò 
˜c D™jð 
¸#À¹*ð 
ÐVZÐ]`ÑV`ð 
Ðlpó 
ð&	-˜Sð 	-¨Cð 	-°Hó 	-ð9�sð 9 3ð 9°#ð 9¸(ó 9ð:˜ð : Cð :°3ð :¸8ô :r   r%   )r   ÚloggingÚtypingr   r.   Ú
exceptionsr   r   Ú	getLoggerr   Úloggerr	   r%   r#   r   r   ú<module>rL      s:   ðÙ ã Ý ã ç 7à	ˆ×	Ñ	˜8Ó	$€÷$ñ $÷6':ò ':r   