U
    ڲg9                     @  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 d dlmZ d dl	m
Z
 d d	lmZ d d
lmZ G dd dZe ZdS )    )annotations)List)Pattern)Sequence)Tuple)Union)cast)settings)default_headers)default_methodsc                   @  s   e Zd ZdZeddddZeddddZeddd	d
ZeddddZeddddZ	eddddZ
eddddZeddddZeddddZeddddZdS )Settingsz6
    Shadow Django's settings with a little logic
    zSequence[str])returnc                 C  s   t tdtS )NCORS_ALLOW_HEADERS)getattrr	   r
   self r   4/tmp/pip-unpacked-wheel-lqlwanta/corsheaders/conf.pyr      s    zSettings.CORS_ALLOW_HEADERSc                 C  s   t tdtS )NCORS_ALLOW_METHODS)r   r	   r   r   r   r   r   r      s    zSettings.CORS_ALLOW_METHODSboolc                 C  s   t tddS )NCORS_ALLOW_CREDENTIALSFr   r	   r   r   r   r   r      s    zSettings.CORS_ALLOW_CREDENTIALSc                 C  s   t tddS )NCORS_ALLOW_PRIVATE_NETWORKFr   r   r   r   r   r   !   s    z#Settings.CORS_ALLOW_PRIVATE_NETWORKintc                 C  s   t tddS )NCORS_PREFLIGHT_MAX_AGEiQ r   r   r   r   r   r   %   s    zSettings.CORS_PREFLIGHT_MAX_AGEc                 C  s   t tdt tddS )NCORS_ALLOW_ALL_ORIGINSZCORS_ORIGIN_ALLOW_ALLFr   r   r   r   r   r   )   s
    
zSettings.CORS_ALLOW_ALL_ORIGINSzlist[str] | tuple[str]c                 C  s.   t tdt tdd}tttt tt f |S )NCORS_ALLOWED_ORIGINSZCORS_ORIGIN_WHITELISTr   )r   r	   r   r   r   strr   )r   valuer   r   r   r   1   s    
zSettings.CORS_ALLOWED_ORIGINSzSequence[str | Pattern[str]]c                 C  s   t tdt tddS )NCORS_ALLOWED_ORIGIN_REGEXESZCORS_ORIGIN_REGEX_WHITELISTr   r   r   r   r   r   r   :   s
    
z$Settings.CORS_ALLOWED_ORIGIN_REGEXESc                 C  s   t tddS )NCORS_EXPOSE_HEADERSr   r   r   r   r   r   r    B   s    zSettings.CORS_EXPOSE_HEADERSzstr | Pattern[str]c                 C  s   t tddS )NCORS_URLS_REGEXz^.*$r   r   r   r   r   r!   F   s    zSettings.CORS_URLS_REGEXN)__name__
__module____qualname____doc__propertyr   r   r   r   r   r   r   r   r    r!   r   r   r   r   r      s*   r   N)
__future__r   typingr   r   r   r   r   r   Zdjango.confr	   Zcorsheaders.defaultsr
   r   r   confr   r   r   r   <module>   s   ;