
    Z2ig                     P   d dl mZ d dlmZmZ d dlmZmZmZm	Z	 d dl
Z
ddlmZmZ ddlmZ ddlmZ  G d	 d
      Zede
j&                  dedededee   f
d       Zede
j,                  dedededee   f
d       Zde
j0                  dee   fdZde
j0                  dee   fdZy)    )AsyncGenerator)asynccontextmanagercontextmanager)AnyAsyncIteratorIteratorcastN   )
SSEDecoderSSELineDecoder)SSEError)ServerSentEventc                       e Zd Zdej                  ddfdZd	dZedej                  fd       Zde	e
   fdZdee
df   fdZy)
EventSourceresponsereturnNc                     || _         y N	_response)selfr   s     X/mnt/e/genesis-system/.venvs/voice-bridge/lib/python3.12/site-packages/httpx_sse/_api.py__init__zEventSource.__init__   s	    !    c                     | j                   j                  j                  dd      j                  d      d   }d|vrt	        d|      y )Nzcontent-type ;r   text/event-streamzJExpected response header Content-Type to contain 'text/event-stream', got )r   headersget	partitionr   )r   content_types     r   _check_content_typezEventSource._check_content_type   sZ    ~~--11."EOOPSTUVWl2#&(  3r   c                     | j                   S r   r   )r   s    r   r   zEventSource.response   s    ~~r   c              #      K   | j                          t               }t        | j                        D ]+  }|j	                  d      }|j                  |      }|(| - y wN
)r#   r   _iter_sse_linesr   rstripdecode)r   decoderlinesses       r   iter_ssezEventSource.iter_sse   sW       ",#DNN3 	D;;t$D..&C			s   AA!A!c                |  K   | j                          t               }t        t        t        d f   t        | j                              }	 |2 3 d {   }|j                  d      }|j                  |      }|.| 47 /6 	 |j                          d {  7   y # |j                          d {  7   w xY wwr&   )
r#   r   r	   r   str_aiter_sse_linesr   r)   r*   aclose)r   r+   linesr,   r-   s        r   	aiter_ssezEventSource.aiter_sse%   s       ",^CI.0@0PQ	!#  d{{4(nnT*?I	e ,,.  %,,.  s`   AB<
B BB B%B :B  BB B<BB<B92B53B99B<)r   N)__name__
__module____qualname__httpxResponser   r#   propertyr   r   r   r.   r   r4    r   r   r   r      sd    " "D " %..  (?3 !0E!F !r   r   clientmethodurlkwargsr   c              +      K   |j                  di       }d|d<   d|d<    | j                  ||fd|i|5 }t        |       d d d        y # 1 sw Y   y xY wwNr   r   Acceptzno-storezCache-Controlpopstreamr   r<   r=   r>   r?   r   r   s         r   connect_sserG   3   sg      jjB'G+GH)GO	vs	>G	>v	> $((##$ $ $s   3AA	AAAc                   K   |j                  di       }d|d<   d|d<    | j                  ||fd|i|4 d {   }t        |       d d d       d {    y 7 #7 # 1 d {  7  sw Y   y xY wwrA   rC   rF   s         r   aconnect_sserI   ?   s      jjB'G+GH)GOv}}VSD'DVD $ $(##$ $ $ $ $ $ $sD   7A6AA6A!A6AA6A6!A3'A*(A3/A6r   c                   K   t               }| j                         2 3 d {   }|j                  |      D ]  }| 	 %7  6 |j                         D ]  }| 	 y wr   )r   
aiter_textr*   flushr   r+   textr,   s       r   r1   r1   N   sh     G))+  dNN4( 	DJ	+  
s%   A AAAA AA c              #      K   t               }| j                         D ]  }|j                  |      D ]  }|   |j                         D ]  }|  y wr   )r   	iter_textr*   rL   rM   s       r   r(   r(   W   s_     G""$ NN4( 	DJ	  
s   AA)collections.abcr   
contextlibr   r   typingr   r   r   r	   r8   	_decodersr   r   _exceptionsr   _modelsr   r   Clientr0   rG   AsyncClientrI   r9   r1   r(   r;   r   r   <module>rY      s    * : 5 5  1 ! $$! $!N $LL$"%$,/$;>$k$ $ $$$ 
$ 	$
 ;$ $U^^ c8J enn # r   