a
    d
                     @   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   a/var/www/html/stable-diffusion-webui/venv/lib/python3.9/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   s8   t f i 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_codeZ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   s8   t f i 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   s8   t f i 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   