ruạṛ
a �u:j� � @ sf d dl Z d dlmZmZmZmZ d dlmZ d dlm Z m Z d dlmZm Z mZmZ G dd� d�ZdS )� N)�AuthCredentials�AuthenticationBackend�AuthenticationError�UnauthenticatedUser)�HTTPConnection)�PlainTextResponse�Response)�ASGIApp�Receive�Scope�Sendc @ s` e Zd Zdeeejejee ge f dd�dd�Zee edd�dd�Zeeee d�d d ��ZdS )�AuthenticationMiddlewareN)�app�backend�on_error�returnc C s$ || _ || _|d ur|n| j| _d S )N)r r �default_on_errorr )�selfr r r � r �V/opt/bart/bart_venv/lib/python3.9/site-packages/starlette/middleware/authentication.py�__init__ s �z!AuthenticationMiddleware.__init__)�scope�receive�sendr c � s� |d dvr$| � |||�I d H d S t|�}z| j�|�I d H }W nf ty� } zN| �||�}|d dkr�|ddd��I d H n||||�I d H W Y d }~d S d }~0 0 |d u r�t� t� f}|\|d<