
    h'                        d Z ddlmZmZmZmZmZmZ ddlZdeee      fdZ	 G d dej                  ej                  ej                  ej                        Z G d d	e      Z G d
 deej                         ZdedefdZy)z:Base class for interceptors that operate on all RPC types.    )AnyCallableList
NamedTupleOptionalTupleNreturnc                      d }| j                  d| j                  d            }|r|r|ng }|j                  d|f       |S )Nzclient-request-idclient_request_id)getappend)kwargsmetadatar   s      Z/opt/lhia/marcimex/python/venv/lib/python3.12/site-packages/pymilvus/client/interceptor.py_api_level_mdr      sG    H

#6

CV8WX'8R,.?@AO    c                   x     e Zd Zdeddf fdZdededefdZdededefd	Zdeded
efdZdeded
efdZ	 xZ
S )_GenericClientInterceptorinterceptor_functionr	   Nc                 0    t         |           || _        y N)super__init___fn)selfr   	__class__s     r   r   z"_GenericClientInterceptor.__init__$   s    'r   continuationclient_call_detailsrequestc                 ~    | j                  |t        |f            \  }}} ||t        |            }|r ||      S |S r   r   iternext)r   r   r   r   new_detailsnew_request_iteratorpostprocessresponses           r   intercept_unary_unaryz/_GenericClientInterceptor.intercept_unary_unary(   sJ    9=wj!1:
6);  T2F-GH(3{8$AAr   c                 ~    | j                  |t        |f            \  }}} ||t        |            }|r ||      S |S r   r!   )r   r   r   r   r$   r%   r&   response_its           r   intercept_unary_streamz0_GenericClientInterceptor.intercept_unary_stream/   sL     :>wj!1:
6); #;5I0JK+6{;'GKGr   request_iteratorc                 X    | j                  ||      \  }}} |||      }|r ||      S |S r   r   )r   r   r   r,   r$   r%   r&   r'   s           r   intercept_stream_unaryz0_GenericClientInterceptor.intercept_stream_unary;   sA     :>!1:
6);  -AB(3{8$AAr   c                 X    | j                  ||      \  }}} |||      }|r ||      S |S r   r.   )r   r   r   r,   r$   r%   r&   r*   s           r   intercept_stream_streamz1_GenericClientInterceptor.intercept_stream_streamG   sA     :>!1:
6); #;0DE+6{;'GKGr   )__name__
__module____qualname__r   r   r   r(   r+   r/   r1   __classcell__)r   s   @r   r   r      s    (X ($ (B( BQT B_b B
H
H !
H 	
H
B
B !
B 	
B
H
H !
H 	
Hr   r   c                   6    e Zd ZU eed<   eed<   eed<   eed<   y)ClientCallDetailsTuplemethodtimeoutr   credentialsN)r2   r3   r4   r   __annotations__ r   r   r7   r7   T   s    KLMr   r7   c                       e Zd Zy)_ClientCallDetailsN)r2   r3   r4   r<   r   r   r>   r>   [   s    r   r>   headersvaluesc                 B     dt         dt         f fd}t        |      S )Nr   r,   c                     g }| j                   t        | j                         }t              D ]  }|j                  |        t	        | j
                  | j                  || j                        } | |d fS r   )r   listzipr   r>   r8   r9   r:   )r   r,   r   itemr?   r@   s       r   intercept_callz0header_adder_interceptor.<locals>.intercept_call`   s     ''3/889H( 	"DOOD!	"0&&''++	
 #$4d::r   )r   r   )r?   r@   rF   s   `` r   header_adder_interceptorrG   _   s%    ; ;;" %^44r   )__doc__typingr   r   r   r   r   r   grpcr   UnaryUnaryClientInterceptorUnaryStreamClientInterceptorStreamUnaryClientInterceptorStreamStreamClientInterceptorr   r7   ClientCallDetailsr>   rG   r<   r   r   <module>rP      s    A C C xU4 3H$$%%%%&&	3HlZ 	/1G1G 	5d 5D 5r   