OwlCyberSecurity - MANAGER
Edit File: base.cpython-39.pyc
a ���e�9 � @ s� d dl Z d dlZd dlZd dlmZmZmZ d dlmZ d dl m Z mZ d dlm Z d dlmZmZ d dlmZmZ d dlmZ d d lmZ d dlmZ e�d�ZG d d� d�Zdd� Ze �e� dS )� N)� async_to_sync�iscoroutinefunction� sync_to_async)�settings)�ImproperlyConfigured�MiddlewareNotUsed)�request_finished)�connections�transaction)�get_resolver�set_urlconf)�log_response)� import_string� )�convert_exception_to_responsezdjango.requestc @ sr e Zd ZdZdZdZdZddd�Zddd�Zdd� Z d d � Z dd� Zd d� Zdd� Z ddd�Zdd� Zdd� ZdS )�BaseHandlerNFc C s� g | _ g | _g | _|r| jn| j}t|�}|}ttj�D �]^}t |�}t |dd�}t |dd�}|st|sttd| ��n|s�|r�d} n|} z&| j| ||tj d| d�} || �}W n\ t�y } zBtj r�t|�r�t�d||� nt�d |� W Y d }~q8W Y d }~nd }~0 0 | }|d u �r$td| ��t|d��rH| j �d | �||j�� t|d��rj| j�| �||j�� t|d��r�| j�| �d|j�� t|�}| }q8| �|||�}|| _d S )z� Populate middleware lists from settings.MIDDLEWARE. Must be called after the environment is fixed (see __call__ in subclasses). Zsync_capableTZ async_capableFzOMiddleware %s must have at least one of sync_capable/async_capable set to True.z middleware %s)�debug�namezMiddlewareNotUsed(%r): %szMiddlewareNotUsed: %rNz$Middleware factory %s returned None.�process_viewr �process_template_response�process_exception)�_view_middleware�_template_response_middleware�_exception_middleware�_get_response_async� _get_responser �reversedr Z MIDDLEWAREr �getattr�RuntimeError�adapt_method_mode�DEBUGr �str�loggerr r �hasattr�insertr �appendr r �_middleware_chain) �self�is_async�get_response�handlerZhandler_is_asyncZmiddleware_pathZ middlewareZmiddleware_can_syncZmiddleware_can_asyncZmiddleware_is_asyncZadapted_handlerZmw_instance�exc� r, �Z/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/django/core/handlers/base.py�load_middleware st ���" �����zBaseHandler.load_middlewarec C sl |du rt |�}|r&|s&|p$d|j }|rL|sh|r>t�d|� t|dd�S n|rh|r`t�d|� t|�S |S )a\ Adapt a method to be in the correct "mode": - If is_async is False: - Synchronous methods are left alone - Asynchronous methods are wrapped with async_to_sync - If is_async is True: - Synchronous methods are wrapped with sync_to_async() - Asynchronous methods are left alone Nzmethod %s()z#Synchronous handler adapted for %s.T�Zthread_sensitivez$Asynchronous handler adapted for %s.)r �__qualname__r"