
    8i                     F    S r SSKrSSKrSSKJr  SSKJr   " S S\5      r	g)z*Module containing the SessionThread class.    N   )queuec                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
SessionThread
   c                 T    Xl         X l        U R                  5         X0l        X@l        g N)_session_jobs_create_worker
_responses_exceptions)selfinitialized_session	job_queueresponse_queueexception_queues        q/home/dmtnaga/Documents/work/airagagent/rag_env/lib/python3.13/site-packages/requests_toolbelt/threaded/thread.py__init__SessionThread.__init__   s#    +
(*    c                     [         R                  " U R                  [        R                  " 5       S9U l        SU R
                  l        SU R
                  l        U R
                  R                  5         g )N)targetnameTr   )		threadingThread_make_requestuuiduuid4_workerdaemon_statestartr   s    r   r   SessionThread._create_worker   sP     ''%%
 #r   c                 b    U R                   R                  " S0 UD6nU R                  R                  X45        U R                  R                  5         g ! [        R
                   a&  nU R                  R                  X45         S nANPS nAff = f! U R                  R                  5         f = f)N )	r
   requestr   putexcRequestExceptionr   r   	task_done)r   kwargsresponsees       r   _handle_requestSessionThread._handle_request   s    	#}},,6v6H OO 23JJ  " ## 	.  &--	.
 JJ  "s.   A B B)B
B 
BB B.c                       U R                   R                  5       nU R	                  U5        M.  ! [        R                   a     g f = fr	   )r   
get_nowaitr   Emptyr0   )r   r-   s     r   r   SessionThread._make_request&   sI    ..0   (  ;; s   0 AAc                 6    U R                   R                  5       $ )z*Proxy to the thread's ``is_alive`` method.)r    is_aliver$   s    r   r7   SessionThread.is_alive/   s    ||$$&&r   c                 8    U R                   R                  5         g)z&Join this thread to the master thread.N)r    joinr$   s    r   r:   SessionThread.join3   s    r   )r   r   r   r
   r    N)__name__
__module____qualname____firstlineno__r   r   r0   r   r7   r:   __static_attributes__r'   r   r   r   r   
   s     +#)'r   r   )
__doc__r   r   requests.exceptions
exceptionsr*   _compatr   objectr   r'   r   r   <module>rF      s     0   ! +F +r   