File: //usr/lib/python3/dist-packages/django/middleware/__pycache__/security.cpython-310.pyc
o
3�a� � @ s@ d dl Z d dlmZ d dlmZ d dlmZ G dd� de�ZdS )� N)�settings)�HttpResponsePermanentRedirect)�MiddlewareMixinc s. e Zd Zd� fdd� Zdd� Zdd� Z� ZS ) �SecurityMiddlewareNc sb t � �|� tj| _tj| _tj| _tj | _
tj| _tj
| _tj| _dd� tjD �| _tj| _d S )Nc S s g | ]}t �|��qS � )�re�compile)�.0�rr r �</usr/lib/python3/dist-packages/django/middleware/security.py�
<listcomp> s z/SecurityMiddleware.__init__.<locals>.<listcomp>)�super�__init__r �SECURE_HSTS_SECONDS�sts_seconds�SECURE_HSTS_INCLUDE_SUBDOMAINS�sts_include_subdomains�SECURE_HSTS_PRELOAD�sts_preload�SECURE_CONTENT_TYPE_NOSNIFF�content_type_nosniff�SECURE_BROWSER_XSS_FILTER�
xss_filter�SECURE_SSL_REDIRECT�redirect�SECURE_SSL_HOST�
redirect_host�SECURE_REDIRECT_EXEMPT�redirect_exempt�SECURE_REFERRER_POLICY�referrer_policy)�self�get_response�� __class__r r r s zSecurityMiddleware.__init__c s` |j �d�� | jr*|�� s,t� fdd�| jD ��s.| jp|�� }td||� � f �S d S d S d S )N�/c 3 s � | ]}|� � �V qd S �N)�search)r �pattern��pathr r � <genexpr> s � �z5SecurityMiddleware.process_request.<locals>.<genexpr>zhttps://%s%s)
r* �lstripr � is_secure�anyr r �get_hostr �
get_full_path)r! �request�hostr r) r �process_request s ����z"SecurityMiddleware.process_requestc C s� | j r#|�� r#d|vr#d| j }| jr|d }| jr|d }||jd<