
    UhD	                         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 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y)    )AsyncGenerator)asynccontextmanagercontextmanager)AnyAsyncIteratorIteratorcastN   )
SSEDecoder)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     O/var/www/html/hubwallet-dev/venv/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               }| j                  j                         D ]+  }|j	                  d      }|j                  |      }|(| - y wN
)r"   r   r   
iter_linesrstripdecode)r   decoderlinesses       r   iter_ssezEventSource.iter_sse   s[       ",NN--/ 	D;;t$D..&C			s   AA&A&c                  K   | j                          t               }t        t        t        d f   | j
                  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   strr   aiter_linesr(   r)   aclose)r   r*   linesr+   r,   s        r   	aiter_ssezEventSource.aiter_sse%   s       ",^CI.0J0J0LM	!#  d{{4(nnT*?I	e ,,.  %,,.  s`   ACB# BBB%B# ?B# BB# 	CBC#B>7B:8B>>C)r   N)__name__
__module____qualname__httpxResponser   r"   propertyr   r   r   r-   r   r3    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_sserF   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r@   rB   rE   s         r   aconnect_sserH   ?   s      jjB'G+GH)GOv}}VSD'DVD $ $(##$ $ $ $ $ $ $sD   7A6AA6A!A6AA6A6!A3'A*(A3/A6)collections.abcr   
contextlibr   r   typingr   r   r   r	   r7   	_decodersr   _exceptionsr   _modelsr   r   Clientr/   rF   AsyncClientrH   r:   r   r   <module>rQ      s    * : 5 5  ! ! $$! $!N $LL$"%$,/$;>$k$ $ $$$ 
$ 	$
 ;$ $r   