o
    di                     @   s4   d dl mZmZmZ d dlmZ G dd deZdS )    )EventStreamEventStreamBufferNoInitialResponseError)EventStreamErrorc                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )AioEventStreamc                 C   s   t d)NzUse async-for instead)NotImplementedErrorself r
   K/home/ubuntu/.local/lib/python3.10/site-packages/aiobotocore/eventstream.py__iter__
      zAioEventStream.__iter__c                 C   s   |   S N)	__anext__r   r
   r
   r   	__aiter__   r   zAioEventStream.__aiter__c                 C  s6   | j 2 z3 d H W }| |I d H }|r|V  q6 d S r   )_event_generator_parse_event)r	   eventparsed_eventr
   r
   r   r      s   zAioEventStream.__anext__c                 C  sF   t  }| jj 2 z3 d H W \}}|| |D ]}|V  qq
6 d S r   )r   _raw_streamcontentiter_chunksadd_data)r	   event_stream_bufferchunk_r   r
   r
   r   _create_raw_event_generator   s   
z*AioEventStream._create_raw_event_generatorc                    s<   |  }| j|| jI d H }|d dkr|S t|| j)Nstatus_code   )to_response_dict_parserparse_output_shaper   _operation_name)r	   r   response_dictparsed_responser
   r
   r   r      s   
zAioEventStream._parse_eventc                    s^   z"| j 2 z3 d H W }|jd}|dkr|  W S  W t 6 W t  ty.   Y t w )Nz:event-typezinitial-response)r   headersgetStopIterationr   )r	   r   
event_typer
   r
   r   get_initial_response'   s   
z#AioEventStream.get_initial_responseN)	__name__
__module____qualname__r   r   r   r   r   r*   r
   r
   r
   r   r   	   s    
r   N)botocore.eventstreamr   r   r   botocore.exceptionsr   r   r
   r
   r
   r   <module>   s    