File: //home/arjun/projects/env/lib/python3.10/site-packages/aiohttp/__pycache__/web_app.cpython-310.pyc
o
+we�G � @ sj d dl Z d dlZd dlZd dlmZmZ d dlmZmZm Z m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ ddlmZ ddl m!Z!m"Z"m#Z#m$Z$ dd l%m&Z&m'Z' dd
l(m)Z) ddl*m+Z+ ddl,m-Z- dd
l.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 ddl8m9Z9 ddl:m;Z; ddl<m=Z= ddl>m?Z? ddl@mAZAmBZBmCZCmDZDmEZEmFZFmGZG dZHer�eedge
d f ZIeee9e;ge
d f ZJee/ ZKeeee/eLf ZMed ZNneZIeZJeZKee ZMeZNed�ZOed�ZPG dd� deeeQe'e f ef �ZRG dd� deS�ZTe�r)eeeRge d f ZUneZUG dd� deU�ZVdS ) � N)�partial�update_wrapper)�
TYPE_CHECKING�Any�
AsyncIterator� Awaitable�Callable�Dict�Iterable�Iterator�List�Mapping�MutableMapping�Optional�Sequence�Tuple�Type�TypeVar�Union�cast�overload)�Signal)�
FrozenList� )�hdrs)�AbstractAccessLogger�AbstractMatchInfo�AbstractRouter�AbstractStreamWriter)�DEBUG�AppKey)�RawRequestMessage)�
web_logger)�StreamReader)�
Middleware)�NotAppKeyWarning)�AccessLogger)�_fix_request_current_app)�RequestHandler)�Request)�StreamResponse)�AbstractRouteDef)�Server)�AbstractResource�
AbstractRoute�Domain�
MaskDomain�MatchedSubAppResource�PrefixedSubAppResource�
UrlDispatcher)�Application�CleanupErrorr4 �_T�_Uc s� e Zd Zeg d��Zeddddddd�dejdee d e
e d
eee
ef dedeej d
eddfdd�Zded ddfdd�ZerPde
deddf� fdd�Zdedefdd�Zedee defdd��Zede
defdd��Zdee
ee f defdd�Zd�d d!�Zedee d"eddfd#d$��Z ede
d"eddfd%d$��Z dee
ee f d"eddfd&d$�Z dee
ee f ddfd'd(�Z!defd)d*�Z"de#ee
ee f fd+d,�Z$ed�dee d-ddee fd.d/��Z%edee d-e&deee&f fd0d/��Z%ed�de
d-edefd1d/��Z%d�dee
ee f d-edefd2d/�Z%e'dejfd3d4��Z(deej ddfd5d6�Z)e'defd7d8��Z*d�d9d:�Z+e'defd;d<��Z,d�d=d>�Z-e'defd?d@��Z.d�dBdC�Z/dDe
dAd de0fdEdF�Z1dGe2g e0f dAd de0fdHdI�Z3dJe
dAd de0fdKdL�Z4dMe
e5 de6e7 fdNdO�Z8e'de9fdPdQ��Z:e'de;fdRdS��Z<e'de;fdTdU��Z=e'de;fdVdW��Z>e'd�dYdZ��Z?e'de fd[d\��Z@e'deAfd]d^��ZBdeCd_�deej d`eeD daedeEfdbdc�ZFdeCd_�deej d`eeD daedeEfddde�ZGd�dfdg�ZHd�dhdi�ZId�djdk�ZJeKfdleLdmeMdneNdoeOdpdqdreeK deKfdsdt�ZPde#eQeef fdudv�ZRdweKdeSfdxdy�ZTd�dzd{�ZUde
fd|d}�ZVdefd~d�ZW� ZXS )�r4 )�logger�_debug�_router�_loop�
_handler_args�_middlewares�_middlewares_handlers�_run_middlewares�_state�_frozen�_pre_frozen�_subapps�_on_response_prepare�_on_startup�_on_shutdown�_on_cleanup�_client_max_size�_cleanup_ctxN� i .)r8 �router�middlewares�handler_args�client_max_size�loop�debugr8 rK rL rM rN rO rP �returnc C s |d u rt � }ntjdtdd� t|t�sJ |��|d ur%tjdtdd� |dur1tjdtdd� || _|| _|| _|| _ || _
t|�| _d | _
d | _i | _d| _d| _g | _t| �| _t| �| _t| �| _t| �| _t� | _| j�| jj� | j�| jj� || _d S )Nzrouter argument is deprecated� ��
stacklevelzloop argument is deprecated.zdebug argument is deprecatedF)r3 �warnings�warn�DeprecationWarning�
isinstancer r9 r: r; r<