+
    0j                        R t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
t
^ RIt^ RIt^RIHtHt ]'       d   ^ RIHt ]P$                  ! ]4      t]! 4       t ! R R4      t ! R	 R
4      t. ROtR R lt ! R R4      tR# )zPTemporary HTTP client for 'backend=duckduckgo'. Delete when HttpClient is fixed.N)SystemRandom)TracebackType)TYPE_CHECKINGAny)DDGSExceptionTimeoutException)Callablec                   :   a  ] tR t^t o RtRtV 3R lR ltRtV tR# )ResponsezHTTP response.c                0   < V ^8  d   QhRS[ RS[RS[RR/# )   status_codecontenttextreturnN)intbytesstr)format__classdict__s   "f/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/ddgs/http_client2.py__annotate__Response.__annotate__   s)      C % s t     c                *    Wn         W n        W0n        R # )Nr   r   r   )selfr   r   r   s   &&&&r   __init__Response.__init__   s    &	r   )r   r   r   N)	__name__
__module____qualname____firstlineno____doc__	__slots__r   __static_attributes____classdictcell__r   s   @r   r
   r
      s     2I r   r
   c                   x   a  ] tR t^"t o RtRRR/V 3R lR llltV 3R lR ltV 3R	 lR
 ltV 3R lR ltRt	V t
R# )HttpClient2zTemporary HTTP client.NverifyTc          
         < V ^8  d   QhRS[ S[S[3,          R,          RS[R,          RS[R,          RS[S[,          RR/# )r   headersNproxytimeoutr*   r   )dictr   r   bool)r   r   s   "r   r   HttpClient2.__annotate__%   sV     
 
c3h$&
 Tz
 t	
 s

 

r   c          	     p    \         P                  ! TTTV'       d   \        VR7      MRRRR7      V n        R# )a  Initialize the HttpClient object.

Args:
    headers (dict, optional): headers for the HTTP client.
    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 str path to a PEM file. Defaults to True.

)r*   FT)r,   r-   r.   r*   follow_redirectshttp2N)httpxClient_get_random_ssl_contextclient)r   r,   r-   r.   r*   s   &&&&$r   r   HttpClient2.__init__%   s0    $ ll=C*&9"
r   c                ,   < V ^8  d   QhRS[ RS[ RS[/# r   argskwargsr   r   r
   )r   r   s   "r   r   r1   @   s"     1 1S 1C 1H 1r   c                   \        4       ;_uu_ 4         V P                  P                  ! V/ VB p\        VP                  VP
                  VP                  R7      uuRRR4       #   \         dG   pRT 9   d   RT: 2p\        T4      Th\        T4      P                   RT: 2p\        T4      ThRp?ii ; i  + '       g   i     R# ; i)z"Make a request to the HTTP client.r   Nz	timed outzRequest timed out: z: )Patchr8   requestr
   r   r   r   	Exceptionr   typer   r   )r   r<   r=   respexmsgs   &*,   r   rA   HttpClient2.request@   s    WW1{{**D;F;D,<,<dllY]YbYbc W  1RD)/v6C*3/R7b**+2bV4#C(b01	 WWs*   B;AA''B82AB33B88B;;C	c                ,   < V ^8  d   QhRS[ RS[ RS[/# r;   r>   )r   r   s   "r   r   r1   M   s"     ; ; ; ; ;r   c                *    V P                   ! VRR/VB # )z&Make a GET request to the HTTP client.methodGETrA   r   r<   r=   s   &*,r   getHttpClient2.getM   s    ||T:%:6::r   c                ,   < V ^8  d   QhRS[ RS[ RS[/# r;   r>   )r   r   s   "r   r   r1   Q   s"     < <# < < <r   c                *    V P                   ! VRR/VB # )z'Make a POST request to the HTTP client.rJ   POSTrL   rM   s   &*,r   postHttpClient2.postQ   s    ||T;&;F;;r   )r8   )NN
   )r   r    r!   r"   r#   r   rA   rN   rS   r%   r&   r'   s   @r   r)   r)   "   s:      
 "
 
61 1; ;< <r   r)   c                Z    V ^8  d   QhR\         \        ,          R\        P                  /# )r   r*   r   )r0   r   ssl
SSLContext)r   s   "r   r   r   f   s"      tcz cnn r   c                    \         P                  ! \        V \        4      '       d   T MR R7      p\        P                  \        R,          \        \        4      ^	,
          4      pVP                  RP                  \        R,          V,           4      4       R R R R .p\        P                  V4      pV'       d	   V! V4       V# )N)cafile:	   NN::Nr[   Nc                 L    \        V R \        P                  P                  4      # )maximum_version)setattrrW   
TLSVersionTLSv1_2contexts   &r   <lambda>)_get_random_ssl_context.<locals>.<lambda>l       ):CNN<R<RSr   c                 L    \        V R \        P                  P                  4      # )minimum_version)r_   rW   r`   TLSv1_3rb   s   &r   rd   re   m   rf   r   c                 Z    \        V R V P                  \        P                  ,          4      # )options)r_   rk   rW   OP_NO_TICKETrb   s   &r   rd   re   n   s    GOOcFVFV4VWr   )rW   create_default_context
isinstancer   randomsampleDEFAULT_CIPHERSlenset_ciphersjoinchoice)r*   ssl_contextshuffled_cipherscommandsrandom_commands   $    r   r7   r7   f   s    ,,jQT>U>UF[_`K}}_R%8#o:NQR:RSCHH_R%8;K%KLMSSW	?H ]]8,N{#r   c                   L   a  ] tR t^vt o RtV 3R lR ltRV 3R lR lltRtV tR# )	r@   z7Patch the HTTP2Connection._send_connection_init method.c                   < V ^8  d   QhRR/# )r   r   N )r   r   s   "r   r   Patch.__annotate__y   s     [ [4 [r   c                    R R lp\         P                  P                  P                  P                  V n        V\         P                  P                  P                  n        R# )zEnter the context manager.c                    V ^8  d   QhR\         P                  P                  P                  R\         P                  RR/# )r   r   rA   r   N)httpcore_syncr4   HTTP2ConnectionRequest)r   s   "r   r   %Patch.__enter__.<locals>.__annotate__|   s9     	/ 	/(<(<(L(L 	/W_WgWg 	/lp 	/r   c                    \         P                  P                  R \         P                  P                  P                  \
        P                  ^d^4      \         P                  P                  P                  \
        P                  RR4      \         P                  P                  P                  \
        P                  RR4      \         P                  P                  P                  \
        P                  ^d^4      \         P                  P                  P                  \
        P                  RR4      \         P                  P                  P                  \
        P                  ^ ^4      \         P                  P                  P                  \
        P                  ^ ^4      /R7      V P                  n        V P                  P                  4        V P                  P!                  R	4       V P#                  V4       R# )
Ti  i  i @  i  i  i )r8   initial_valuesNi   )h2settingsSettingsSettingCodesINITIAL_WINDOW_SIZEro   randintHEADER_TABLE_SIZEMAX_FRAME_SIZEMAX_CONCURRENT_STREAMSMAX_HEADER_LIST_SIZEENABLE_CONNECT_PROTOCOLENABLE_PUSH	_h2_statelocal_settingsinitiate_connectionincrement_flow_control_window_write_outgoing_data)r   rA   s   &&r   _send_connection_init.Patch.__enter__.<locals>._send_connection_init|   sG   ,.KK,@,@KK,,@@&..QTVYBZKK,,>>tUY@ZKK,,;;V^^ESX=YKK,,CCV^^TWY\E]KK,,AA6>>RWY^C_KK,,DDfnnUVXYFZKK,,88&..A:N  -A -DNN) NN..0NN88?%%g.r   N)r   r   r4   r   r   original_send_connection_init)r   r   s   & r   	__enter__Patch.__enter__y   s?    	/" .6^^-A-A-Q-Q-g-g*EZ,,Br   Nc                j   < V ^8  d   QhRS[ S[,          R,          RS[R,          RS[R,          RR/# )r   exc_typeNexc_valexc_tbr   )rC   BaseExceptionr   )r   r   s   "r   r   r}      sM     h h}%,h %h $	h
 
hr   c                l    V P                   \        P                  P                  P                  n        R# )zExit the context manager.N)r   r   r   r4   r   r   )r   r   r   r   s   &&&&r   __exit__Patch.__exit__   s$     FJEgEg,,Br   )r   )NNN)	r   r    r!   r"   r#   r   r   r%   r&   r'   s   @r   r@   r@   v   s&     A[ [.h h hr   r@   )TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256ECDHE-ECDSA-AES128-GCM-SHA256ECDHE-ECDSA-CHACHA20-POLY1305ECDHE-RSA-AES128-GCM-SHA256ECDHE-RSA-CHACHA20-POLY1305ECDHE-ECDSA-AES256-GCM-SHA384ECDHE-RSA-AES256-GCM-SHA384r   r   r   r   r   r   zECDHE-ECDSA-AES128-SHA256zECDHE-RSA-AES128-SHA256zECDHE-ECDSA-AES256-SHA384zECDHE-RSA-AES256-SHA384zECDHE-ECDSA-AES128-SHAzECDHE-RSA-AES128-SHAzAES128-GCM-SHA256zAES128-SHA256z
AES128-SHAzECDHE-RSA-AES256-SHAzAES256-GCM-SHA384zAES256-SHA256z
AES256-SHAzDES-CBC3-SHA)r#   loggingrW   ro   r   typesr   typingr   r   r   r   r5   
exceptionsr   r   collections.abcr   	getLoggerr   loggerr
   r)   rq   r7   r@   r|   r   r   <module>r      so    V  
   % 	   7( 
		8	$	 1< 1<j !h !hr   