U
    ‰¾úgÐ  ã                   @  s|   d dl mZ d dlZddlmZmZ ddlmZmZ ej	egef Z
ej	egejddef f ZdgZG dd„ deeƒZdS )	é    )ÚannotationsNé   )ÚRequestÚResponseé   )ÚAsyncBaseTransportÚBaseTransportÚMockTransportc                   @  s<   e Zd Zdddœdd„Zdddœd	d
„Zdddœdd„ZdS )r	   zSyncHandler | AsyncHandlerÚNone)ÚhandlerÚreturnc                 C  s
   || _ d S ©N)r   )Úselfr   © r   ú:/tmp/pip-unpacked-wheel-ql4n0x43/httpx/_transports/mock.pyÚ__init__   s    zMockTransport.__init__r   r   )Úrequestr   c                 C  s(   |  ¡  |  |¡}t|tƒs$tdƒ‚|S )Nz,Cannot use an async handler in a sync Client)Úreadr   Ú
isinstancer   Ú	TypeError©r   r   Úresponser   r   r   Úhandle_request   s
    

zMockTransport.handle_requestc                 Ã  s0   |  ¡ I d H  |  |¡}t|tƒs,|I d H }|S r   )Zareadr   r   r   r   r   r   r   Úhandle_async_request   s
    


z"MockTransport.handle_async_requestN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r	      s   
)Ú
__future__r   ÚtypingZ_modelsr   r   Úbaser   r   ÚCallableZSyncHandlerÚ	CoroutineZAsyncHandlerÚ__all__r	   r   r   r   r   Ú<module>   s   