U
    e
                     @   s   d dl mZ d dlmZ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G d	d
 d
eZG dd deZG dd deZdS )    )Optional)APIKeyAPIKeyIn)SecurityBase)HTTPException)Request)HTTP_403_FORBIDDENc                   @   s   e Zd ZdS )
APIKeyBaseN)__name__
__module____qualname__ r   r   Y/var/www/html/assets/scripts/venv/lib/python3.8/site-packages/fastapi/security/api_key.pyr	   
   s   r	   c                   @   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 )
APIKeyQueryNTscheme_namedescription
auto_errornamer   r   r   c                C   s4   t f dtji||d| _|p&| jj| _|| _d S Nin)r   r   )r   r   querymodel	__class__r
   r   r   selfr   r   r   r   r   r   r   __init__   s      zAPIKeyQuery.__init__requestreturnc                    s0   |j | jj}|s,| jr(ttddnd S |S NzNot authenticated)status_codedetail)Zquery_paramsgetr   r   r   r   r   r   r   Zapi_keyr   r   r   __call__   s     zAPIKeyQuery.__call__	r
   r   r   strr   boolr   r   r&   r   r   r   r   r      s   r   c                   @   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 )
APIKeyHeaderNTr   r   c                C   s4   t f dtji||d| _|p&| jj| _|| _d S r   )r   r   headerr   r   r
   r   r   r   r   r   r   r   *   s      zAPIKeyHeader.__init__r   c                    s0   |j | jj}|s,| jr(ttddnd S |S r!   )headersr$   r   r   r   r   r   r%   r   r   r   r&   8   s     zAPIKeyHeader.__call__r'   r   r   r   r   r*   )   s   r*   c                   @   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 )
APIKeyCookieNTr   r   c                C   s4   t f dtji||d| _|p&| jj| _|| _d S r   )r   r   cookier   r   r
   r   r   r   r   r   r   r   E   s      zAPIKeyCookie.__init__r   c                    s0   |j | jj}|s,| jr(ttddnd S |S r!   )cookiesr$   r   r   r   r   r   r%   r   r   r   r&   S   s     zAPIKeyCookie.__call__r'   r   r   r   r   r-   D   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-   r   r   r   r   <module>   s   