o
    Ci                     @   s   d dl Z d dlmZ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 )    N)AnyIteratorProtocolType)   
   )	ParamSpec)ASGIAppReceiveScopeSendPc                   @   sD   e Zd ZdedejdejddfddZded	e	d
e
ddfddZdS )_MiddlewareClassappargskwargsreturnNc                 O   s   d S N )selfr   r   r   r   r   u/var/www/html/fyndo/python/python_agents/rag_suite/venv/lib/python3.10/site-packages/starlette/middleware/__init__.py__init__   s   z_MiddlewareClass.__init__scopereceivesendc                    s   d S r   r   )r   r   r   r   r   r   r   __call__   s   z_MiddlewareClass.__call__)__name__
__module____qualname__r	   r   r   r   r   r   r
   r   r   r   r   r   r   r      s    r   c                   @   sR   e Zd Zdeee  dejdejddfddZde	e
 fdd	Zdefd
dZdS )
Middlewareclsr   r   r   Nc                 O   s   || _ || _|| _d S r   )r    r   r   )r   r    r   r   r   r   r   r      s   
zMiddleware.__init__c                 C   s   | j | j| jf}t|S r   )r    r   r   iter)r   as_tupler   r   r   __iter__!   s   zMiddleware.__iter__c                 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__)r   r   r   r   r   r   r   r   r   r   r   r#   strr2   r   r   r   r   r      s    


r   )systypingr   r   r   r   version_infor   typing_extensionsstarlette.typesr	   r
   r   r   r   r   r   r   r   r   r   <module>   s    
