U
    ¨t‡bç  ã                   @  s`   d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZ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-h03uz43q/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_CREDENTIALSÚintc                 C  s   t tddƒS )NÚCORS_PREFLIGHT_MAX_AGEi€Q 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   (   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   1   s
    
ýz$Settings.CORS_ALLOWED_ORIGIN_REGEXESc                 C  s   t tddƒS )NÚCORS_EXPOSE_HEADERSr   r   r   r   r   r   r   9   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    =   s    zSettings.CORS_URLS_REGEXc                 C  s   t tddƒS )NÚCORS_REPLACE_HTTPS_REFERERFr   r   r   r   r   r!   A   s    z#Settings.CORS_REPLACE_HTTPS_REFERERN)Ú__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
    ;