
    RPf                        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	ee         Z G d
 d      Zy)    )annotationsN)AnyIteratorProtocol)   
   )	ParamSpec)ASGIAppReceiveScopeSendPc                      e Zd ZddZddZy)_MiddlewareClassc                     y N )selfappargskwargss       W/var/www/fastapitest/venv/lib/python3.12/site-packages/starlette/middleware/__init__.py__init__z_MiddlewareClass.__init__   s        c                   K   y wr   r   )r   scopereceivesends       r   __call__z_MiddlewareClass.__call__   s	     s   N)r   r
   r   P.argsr   P.kwargsreturnNone)r   r   r   r   r   r   r"   r#   )__name__
__module____qualname__r   r   r   r   r   r   r      s    r   r   c                  4    e Zd Z	 	 	 	 	 	 	 	 ddZddZddZy)
Middlewarec                .    || _         || _        || _        y r   )clsr   r   )r   r*   r   r   s       r   r   zMiddleware.__init__   s     	r   c                ^    | j                   | j                  | j                  f}t        |      S r   )r*   r   r   iter)r   as_tuples     r   __iter__zMiddleware.__iter__#   s$    HHdii5H~r   c                B   | j                   j                  }| j                  D cg c]  }| }}| j                  j	                         D cg c]  \  }}| d| }}}dj                  | j                  j                  g|z   |z         }| d| dS c c}w c c}}w )N=z, ())	__class__r$   r   r   itemsjoinr*   )r   
class_namevalueargs_stringskeyoption_strings	args_reprs          r   __repr__zMiddleware.__repr__'   s    ^^,,
26))<5)<<?C{{?P?P?RSeSE5),SSIItxx001L@>QR	Qyk++ =Ss   
BBN)r*   ztype[_MiddlewareClass[P]]r   r    r   r!   r"   r#   )r"   zIterator[Any])r"   str)r$   r%   r&   r   r.   r<   r   r   r   r(   r(      s7    &  	
 
,r   r(   )
__future__r   systypingr   r   r   version_infor	   typing_extensionsstarlette.typesr
   r   r   r   r   r   r(   r   r   r   <module>rD      sN    " 
 * *w + 9 9cNx{ , ,r   