ruạṛ
a �u:j� � @ sP d dl mZ d dlmZ d dlmZmZ d dlmZ g d�Z G dd� de�Z dS ) � )�BaseHTTPMiddleware)�List)�Request�Response)�AuthStrategy)z/docsz /openapi.jsonz/redocz/bart/healthcheckc s4 e Zd Zee d�� fdd�Zed�dd�Z� ZS )�AuthMiddleware)�auth_strategiesc s t � �|� || _dS )zW auth_strategies: List of authentication strategies to check in order. N)�super�__init__r )�selfZappr �� __class__� �T/opt/bart/bart_venv/lib/python3.9/site-packages/app/auth_framework/AuthMiddleware.pyr s zAuthMiddleware.__init__)�requestc � s� |j �d�}td|� |tv r,||�I d H S | jD ]@}|�|�I d H }|d u r`||�I d H S |jdkr2| S q2tddd�S )N�pathzpath:i� � Forbiddeni� )�status_code)�scope�get�print� ALLOWED_PATHSr Zauthenticater r )r r Z call_nextr ZstrategyZ auth_responser r r �dispatch s zAuthMiddleware.dispatch) �__name__� __module__�__qualname__r r r r r � __classcell__r r r r r s r N)Zstarlette.middleware.baser �typingr Zfastapir r Zapp.auth_framework.AuthStrategyr r r r r r r �<module> s
cải xoăn