o
    Þ­j  ã                   @  s’   d dl mZ d dlZd dlmZmZmZ ejdkr d dlmZ nd dl	mZ d dl
mZmZmZmZ edƒZG dd	„ d	ee ƒZG d
d„ dƒZdS )é    )ÚannotationsN)ÚAnyÚIteratorÚProtocol)é   é
   )Ú	ParamSpec)ÚASGIAppÚReceiveÚScopeÚSendÚPc                   @  s    e Zd Zdd	d
„Zddd„ZdS )Ú_MiddlewareClassÚappr	   ÚargsúP.argsÚkwargsúP.kwargsÚreturnÚNonec                 O  s   d S ©N© )Úselfr   r   r   r   r   úZ/var/www/html/CropPilot/venv/lib/python3.10/site-packages/starlette/middleware/__init__.pyÚ__init__   s   z_MiddlewareClass.__init__Úscoper   Úreceiver
   Úsendr   c                 Ã  s   �d S r   r   )r   r   r   r   r   r   r   Ú__call__   s   €z_MiddlewareClass.__call__N)r   r	   r   r   r   r   r   r   )r   r   r   r
   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s    
r   c                   @  s*   e Zd Zdd	d
„Zddd„Zddd„ZdS )Ú
MiddlewareÚclsútype[_MiddlewareClass[P]]r   r   r   r   r   r   c                 O  s   || _ || _|| _d S r   )r#   r   r   )r   r#   r   r   r   r   r   r      s   
zMiddleware.__init__úIterator[Any]c                 C  s   | j | j| jf}t|ƒS r   )r#   r   r   Úiter)r   Úas_tupler   r   r   Ú__iter__#   s   zMiddleware.__iter__Ústrc                 C  sT   | j j}dd„ | jD ƒ}dd„ | j ¡ D ƒ}d | jjg| | ¡}|› d|› d�S )Nc                 S  s   g | ]}|›‘qS r   r   )Ú.0Úvaluer   r   r   Ú
<listcomp>)   s    z'Middleware.__repr__.<locals>.<listcomp>c                 S  s   g | ]\}}|› d |›�‘qS )ú=r   )r*   Úkeyr+   r   r   r   r,   *   s    z, ú(ú))Ú	__class__r   r   r   ÚitemsÚjoinr#   )r   Ú
class_nameÚargs_stringsÚoption_stringsÚ	args_reprr   r   r   Ú__repr__'   s
   zMiddleware.__repr__N)r#   r$   r   r   r   r   r   r   )r   r%   )r   r)   )r   r    r!   r   r(   r8   r   r   r   r   r"      s    


r"   )Ú
__future__r   ÚsysÚtypingr   r   r   Úversion_infor   Útyping_extensionsÚstarlette.typesr	   r
   r   r   r   r   r"   r   r   r   r   Ú<module>   s    
