
    `i
                         d dl Z d dlZd dlZd dlmZmZmZ  G d d          Z G d de          Zdee	e
eef         ded	e	fd
ZdS )    N)OptionalAnyUnionc                       e Zd ZdZ ej        d          ZdZ	 ddddddddee	         dee
         dee
         d	ee         d
ee
         dee
         ddfdZdefdZdS )ServerSentEventzC
    Helper class to format data for Server-Sent Events (SSE).
    z
\r\n|\r|\nz
N)eventidretrycommentsepdatar   r	   r
   r   r   returnc                l    || _         || _        || _        || _        || _        ||n| j        | _        d S N)r   r   r	   r
   r   DEFAULT_SEPARATOR_sep)selfr   r   r	   r
   r   r   s          g/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/sse_starlette/event.py__init__zServerSentEvent.__init__   s=     	

?CC0F			    c                    t          j                    }| j        N| j                            t          | j                            D ]!}|                    d| | j                    "| j        >|                    d| j        	                    d| j                  z   | j        z              | j
        >|                    d| j        	                    d| j
                  z   | j        z              | j        N| j                            t          | j                            D ]!}|                    d| | j                    "| j        Mt          | j        t                    st          d          |                    d| j         | j                    |                    | j                   |                                                    d          S )	Nz: zid:  zevent: zdata: zretry argument must be intzretry: zutf-8)ioStringIOr   _LINE_SEP_EXPRsplitstrwriter   r	   subr   r   r
   
isinstanceint	TypeErrorgetvalueencode)r   bufferchunks      r   r$   zServerSentEvent.encode    s   <#,223t|3D3DEE 6 64%44455557LL$"5"9"9"dg"F"FFRSSS:!LLD/33B
CCCdiO   9 ,223ty>>BB : :8e8TY889999:!dj#.. > <===LL:4::ty::;;;TY  ''000r   r   )__name__
__module____qualname____doc__recompiler   r   r   r   r   r!   r   bytesr$    r   r   r   r      s           RZ..N #G  $ #!%!G G GsmG }	G
 SMG }G #G c]G 
G G G G"1 1 1 1 1 1 1r   r   c                   <     e Zd ZdZ	 ddee         ddf fdZ xZS )JSONServerSentEventzH
    Helper class to format JSON data for Server-Sent Events (SSE).
    Nr   r   c           	      x     t                      j        |t          j        |ddd d          nd g|R i | d S )NF),:)ensure_ascii	allow_nanindent
separators)superr   jsondumps)r   r   argskwargs	__class__s       r   r   zJSONServerSentEvent.__init__C   s     	  J"%    	
 	
 	
 	
 	
 	
 	
 	
 	
r   r   )r'   r(   r)   r*   r   r   r   __classcell__)r=   s   @r   r0   r0   >   sg          #
 
sm

 

 
 
 
 
 
 
 
 
 
r   r0   r   r   r   c                 R   t          | t                    r| S t          | t                    r|                                 S t          | t                    r#|| d<   t          di |                                 S t          t          |           |                                          S )Nr   )r   r.   )r    r-   r   r$   dictr   )r   r   s     r   ensure_bytesrA   X   s    $ $(( {{}}$ 0U&&&&--///3t99#...55777r   )r   r+   r9   typingr   r   r   r   r0   r-   r@   r   rA   r.   r   r   <module>rC      s    				 				  ' ' ' ' ' ' ' ' ' '41 41 41 41 41 41 41 41n
 
 
 
 
/ 
 
 
48uUD/3>? 8c 8e 8 8 8 8 8 8r   