U
    &%eu                     @   s\   d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ G dd deZd	S )
    )Optional)OpenIdConnect)SecurityBase)HTTPException)Request)HTTP_403_FORBIDDENc                   @   sF   e Zd Zddddeee ee edddZeee ddd	ZdS )
r   NT)scheme_namedescription
auto_error)openIdConnectUrlr   r	   r
   c                C   s&   t ||d| _|p| jj| _|| _d S )N)r   r	   )OpenIdConnectModelmodel	__class____name__r   r
   )selfr   r   r	   r
    r   c/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/fastapi/security/open_id_connect_url.py__init__   s     zOpenIdConnect.__init__)requestreturnc                    s,   |j d}|s(| jr$ttddnd S |S )NAuthorizationzNot authenticated)status_codedetail)headersgetr
   r   r   )r   r   authorizationr   r   r   __call__   s     zOpenIdConnect.__call__)	r   
__module____qualname__strr   boolr   r   r   r   r   r   r   r   
   s   r   N)typingr   Zfastapi.openapi.modelsr   r   Zfastapi.security.baser   Zstarlette.exceptionsr   Zstarlette.requestsr   Zstarlette.statusr   r   r   r   r   <module>   s   