
    Ii                     .   S SK Jr  S SKrS SKJr  S SKJrJrJrJ	r	J
r
Jr  S SKJr   " S S\5      r " S S	\5      r " S
 S\5      r " S S\5      r\" \R$                  5       " S S\5      5       r\" \R$                  5       " S S\5      5       rS rg)    )absolute_importN)Struct)Int16Int32StringSchemaArrayTaggedFields)add_metaclassc            	       ^   ^  \ rS rSr\" S\4S\4S\4S\" S5      45      rS	U 4S jjr	Sr
U =r$ )
RequestHeader   api_keyapi_versioncorrelation_id	client_idutf-8c                 X   > [         [        U ]  UR                  UR                  X#5        g N)superr   __init__API_KEYAPI_VERSION)selfrequestr   r   	__class__s       8/venv/lib/python3.13/site-packages/kafka/protocol/api.pyr   RequestHeader.__init__   s#    mT+OOW00.	
     )r   kafka-python)__name__
__module____qualname____firstlineno__r   r   r   r   SCHEMAr   __static_attributes____classcell__r   s   @r   r   r      s;    	E		5!	fWo&	F
 
r   r   c            	       d   ^  \ rS rSr\" S\4S\4S\4S\" S5      4S\45      r	S
U 4S jjr
S	rU =r$ )RequestHeaderV2   r   r   r   r   r   tagsc                 l   > [         [        U ]  UR                  UR                  X#U=(       d    0 5        g r   )r   r+   r   r   r   )r   r   r   r   r-   r   s        r   r   RequestHeaderV2.__init__#   s*    ot-OOW00.TZUW	
r   r    )r   r!   N)r"   r#   r$   r%   r   r   r   r   r
   r&   r   r'   r(   r)   s   @r   r+   r+      sC    	E		5!	fWo&	F
 
r   r+   c                   (    \ rS rSr\" S\45      rSrg)ResponseHeader)   r   r    N)r"   r#   r$   r%   r   r   r&   r'   r    r   r   r1   r1   )   s    	5!Fr   r1   c                   .    \ rS rSr\" S\4S\45      rSrg)ResponseHeaderV2/   r   r-   r    N)	r"   r#   r$   r%   r   r   r
   r&   r'   r    r   r   r4   r4   /   s    	5!	Fr   r4   c                       \ rS rSrSr\R                  S 5       r\R                  S 5       r\R                  S 5       r	\R                  S 5       r
S rS rS	 rS
rg)Request6   Fc                     g)z"Integer identifier for api requestNr    r   s    r   r   Request.API_KEY:        	r   c                     g)zInteger of api request versionNr    r:   s    r   r   Request.API_VERSION?   r<   r   c                     g)z:An instance of Schema() representing the request structureNr    r:   s    r   r&   Request.SCHEMAD   r<   r   c                     g)z2The Response class associated with the api requestNr    r:   s    r   RESPONSE_TYPERequest.RESPONSE_TYPEI   r<   r   c                     g)zJOverride this method if an api request does not always generate a responseTr    r:   s    r   expect_responseRequest.expect_responseN   s    r   c                 .    [        U R                  U 5      $ r   
_to_objectr&   r:   s    r   	to_objectRequest.to_objectR       $++t,,r   c                 L    U R                   (       a
  [        XUS9$ [        XUS9$ )N)r   r   )FLEXIBLE_VERSIONr+   r   )r   r   r   s      r   build_headerRequest.build_headerU   s&      "4R[\\TIVVr   r    N)r"   r#   r$   r%   rN   abcabstractpropertyr   r   r&   rB   rE   rJ   rO   r'   r    r   r   r7   r7   6   s~      	  	  	 -Wr   r7   c                       \ rS rSrSr\R                  S 5       r\R                  S 5       r\R                  S 5       r	S r
\S 5       rSrg	)
Response[   Fc                     g)z+Integer identifier for api request/responseNr    r:   s    r   r   Response.API_KEY_   r<   r   c                     g)z'Integer of api request/response versionNr    r:   s    r   r   Response.API_VERSIONd   r<   r   c                     g)z;An instance of Schema() representing the response structureNr    r:   s    r   r&   Response.SCHEMAi   r<   r   c                 .    [        U R                  U 5      $ r   rH   r:   s    r   rJ   Response.to_objectn   rL   r   c                 x    U R                   (       a  [        R                  U5      $ [        R                  U5      $ r   )rN   r4   decoder1   )clsread_buffers     r   parse_headerResponse.parse_headerq   s-    #**;77$$[11r   r    N)r"   r#   r$   r%   rN   rQ   rR   r   r   r&   rJ   classmethodrb   r'   r    r   r   rT   rT   [   sm      	  	 - 2 2r   rT   c                    0 n[        [        U R                  U R                  5      5       H  u  nu  pE[	        U[
        5      (       a  UR                  U5      nOX   n[	        U[        5      (       a  [        XV5      X$'   MW  [	        U[        5      (       aV  [	        UR                  [        [        45      (       a+  U Vs/ s H  n[        UR                  U5      PM     snX$'   M  XbU'   M  XbU'   M     U$ s  snf r   )	enumeratezipnamesfields
isinstancer   get_itemr   rI   r	   array_of)schemadataobjidxname_typevalxs           r   rI   rI   x   s    
C'FLL&--(HI]ddF##--%C)CeV$$"5.CIu%%%..5&/:: !  u~~q1 	
  D	I# J& Js    C8)
__future__r   rQ   kafka.protocol.structr   kafka.protocol.typesr   r   r   r   r	   r
   kafka.vendor.sixr   r   r+   r1   r4   ABCMetar7   rT   rI   r    r   r   <module>rz      s    & 
 ( R R *
F 

f 
 V v  s{{!Wf !W !WH s{{2v 2 28r   