
    Ng                         d dl mZmZ d dl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dS )    )asynccontextmanagercontextmanager)AnyAsyncIteratorIteratorN   )
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
         fdZdS )
EventSourceresponsereturnNc                     || _         d S N	_response)selfr   s     J/var/www/html/ai-engine/env/lib/python3.11/site-packages/httpx_sse/_api.py__init__zEventSource.__init__   s    !    c                     | j         j                            dd                              d          d         }d|vrt	          d|          d S )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   sh    ~-11."EEOOPSTTUVWl22(#( (   32r   c                     | j         S r   r   )r   s    r   r   zEventSource.response   s
    ~r   c              #      K   |                                   t                      }| j                                        D ]2}|                    d          }|                    |          }||V  3d S N
)r    r	   r   
iter_linesrstripdecoder   decoderlinesses       r   iter_ssezEventSource.iter_sse   sy        """,,N--// 	 	D;;t$$D..&&C					 	r   c                   K   |                                   t                      }| j                                        2 3 d {V }|                    d          }|                    |          }||W V  96 d S r#   )r    r	   r   aiter_linesr&   r'   r(   s       r   	aiter_ssezEventSource.aiter_sse$   s        """,,.4466 	 	 	 	 	 	 	$;;t$$D..&&C					 766s   A7)r   N)__name__
__module____qualname__httpxResponser   r    propertyr   r   r   r,   r   r/    r   r   r   r      s        " "D " " " "    %.    X(?3    !?      r   r   clientmethodurlkwargsr   c              +      K   |                     di           }d|d<   d|d<    | j        ||fd|i|5 }t          |          V  d d d            d S # 1 swxY w Y   d S Nr   r   Acceptzno-storezCache-Controlpopstreamr   r7   r8   r9   r:   r   r   s         r   connect_sserB   .   s       jjB''G+GH)GO	vs	>	>G	>v	>	> $((#####$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   AAAc                   K   |                     di           }d|d<   d|d<    | j        ||fd|i|4 d {V }t          |          W V  d d d           d {V  d S # 1 d {V swxY w Y   d S r<   r>   rA   s         r   aconnect_sserD   :   s"      jjB''G+GH)GOv}VSDD'DVDD $ $ $ $ $ $ $(######$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   A  
A*-A*)
contextlibr   r   typingr   r   r   r3   	_decodersr	   _exceptionsr
   _modelsr   r   ClientstrrB   AsyncClientrD   r6   r   r   <module>rM      sS   : : : : : : : : / / / / / / / / / /  ! ! ! ! ! ! ! ! ! ! ! ! $ $ $ $ $ $               F $L$"%$,/$;>$k$ $ $ $ $$$ 
$ 	$
 ;$ $ $ $ $ $r   