U
    9Š]  ã                   @   st   d dl Z d dlmZ ddlmZmZmZ ddlmZm	Z	m
Z
mZmZmZmZmZmZ G dd„ dƒZG dd	„ d	ƒZdS )
é    N)ÚTracebackTypeé   )Ú	CertTypesÚTimeoutTypesÚVerifyTypes)	ÚAsyncRequestÚAsyncRequestDataÚAsyncResponseÚHeaderTypesÚQueryParamTypesÚRequestÚRequestDataÚResponseÚURLTypesc                   @   sŽ   e Zd ZdZdddddddœeeeeee	e
eedœ	dd„Zdee	e
eedœd	d
„Zddœdd„Zd dœdd„Zdeje eeddœdd„ZdS )ÚAsyncDispatchera!  
    Base class for async dispatcher classes, that handle sending the request.

    Stubs out the interface, as well as providing a `.request()` convenience
    implementation, to make it easy to use or test stand-alone dispatchers,
    without requiring a complete `Client` instance.
    ó    N©ÚdataÚparamsÚheadersÚverifyÚcertÚtimeout©	ÚmethodÚurlr   r   r   r   r   r   Úreturnc          
      Ã   s*   t |||||d�}	| j|	|||d�I d H S ©N)r   r   r   )r   r   r   )r   Úsend©
Úselfr   r   r   r   r   r   r   r   Úrequest© r"   ús/var/www/html/staging.mfahmagazine.net/magazine_api/magazine_env/lib/python3.8/site-packages/httpx/dispatch/base.pyr!      s    zAsyncDispatcher.request©r!   r   r   r   r   c                 Ã   s
   t ƒ ‚d S ©N©ÚNotImplementedError©r    r!   r   r   r   r"   r"   r#   r   *   s    zAsyncDispatcher.send©r   c                 Ã   s   d S r%   r"   ©r    r"   r"   r#   Úclose3   s    zAsyncDispatcher.closec                 Ã   s   | S r%   r"   r*   r"   r"   r#   Ú
__aenter__6   s    zAsyncDispatcher.__aenter__©Úexc_typeÚ	exc_valueÚ	tracebackr   c                 Ã   s   |   ¡ I d H  d S r%   ©r+   ©r    r.   r/   r0   r"   r"   r#   Ú	__aexit__9   s    zAsyncDispatcher.__aexit__)NNN)NNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   r   r   r
   r   r   r   r	   r!   r   r   r+   r,   ÚtypingÚTypeÚBaseExceptionr   r3   r"   r"   r"   r#   r      sN   öõ   ûú	   üûr   c                   @   sŽ   e Zd ZdZdddddddœeeeeee	e
eedœ	dd„Zdee	e
eedœd	d
„Zddœdd„Zd dœdd„Zdeje eeddœdd„ZdS )Ú
Dispatchera'  
    Base class for synchronous dispatcher classes, that handle sending the request.

    Stubs out the interface, as well as providing a `.request()` convenience
    implementation, to make it easy to use or test stand-alone dispatchers,
    without requiring a complete `Client` instance.
    r   Nr   r   c          
      C   s$   t |||||d�}	| j|	|||d�S r   )r   r   r   r"   r"   r#   r!   K   s    zDispatcher.requestr$   c                 C   s
   t ƒ ‚d S r%   r&   r(   r"   r"   r#   r   Z   s    zDispatcher.sendr)   c                 C   s   d S r%   r"   r*   r"   r"   r#   r+   c   s    zDispatcher.closec                 C   s   | S r%   r"   r*   r"   r"   r#   Ú	__enter__f   s    zDispatcher.__enter__r-   c                 C   s   |   ¡  d S r%   r1   r2   r"   r"   r#   Ú__exit__i   s    zDispatcher.__exit__)NNN)NNN)r4   r5   r6   r7   r8   r   r   r   r
   r   r   r   r   r!   r   r   r+   r=   r9   r:   r;   r   r>   r"   r"   r"   r#   r<   B   sN   öõ   ûú	   üûr<   )r9   Útypesr   Úconfigr   r   r   Zmodelsr   r   r	   r
   r   r   r   r   r   r   r<   r"   r"   r"   r#   Ú<module>   s
   ,0