Edit File: web_request.cpython-311.pyc
� ����v�dn�����������������������r����U�d�dl�Z�d�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dl m Z �d�dlmZ�d�dlm Z mZmZmZmZmZmZmZmZmZmZ�d�dlmZ�d�dlZd�dlmZmZmZmZ�d�dl m!Z!�dd l"m#Z#�dd l$m%Z%�ddl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/�ddl0m1Z1�dd l2m3Z3�ddl4m5Z5m6Z6�ddl7m8Z8m9Z9�ddl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@�ddlAmBZB�ddlCmDZD�dZEe rddlFmGZG�ddlHmIZI�ddlJmKZK��ejL��������ddd��������������G�d��d��������������������������ZMejN��������ejO��������z���dz���ZPe<eQ���������eRd<���deP��d�ZSe<eQ���������eRd<���d �T��������������������d!�U��������������������d"��d#�eV�eWd$d%������������������������z���D���������������������������������������ZXe<eQ���������eRd&<���d'ZYe<eQ���������eRd(<���d)�T��������������������eXeY�*������������ZZe<eQ���������eRd+<���d,�T��������������������eSeZ�-������������Z[e<eQ���������eRd.<����ej\��������d/������������Z]e<eeQ������������������eRd0<����ej\��������e[������������Z^e<eeQ������������������eRd1<����G�d2��d3eeQef���������e,������������Z_�G�d4��d5e_������������Z`dS�)6�����N)�SimpleCookie)�MappingProxyType)� TYPE_CHECKING�Any�Dict�Iterator�Mapping�MutableMapping�Optional�Pattern�Tuple�Union�cast)� parse_qsl)�CIMultiDict�CIMultiDictProxy� MultiDict�MultiDictProxy)�URL����)�hdrs)�AbstractStreamWriter) �DEBUG�ETAG_ANY�LIST_QUOTED_ETAG_RE� ChainMapProxy�ETag�HeadersMixin�parse_http_date�reify�sentinel)�RawRequestMessage)�HttpVersion)�BodyPartReader�MultipartReader)�EmptyStreamReader�StreamReader)�DEFAULT_JSON_DECODER�Final�JSONDecoder�LooseHeaders� RawHeaders�StrOrURL)�HTTPRequestEntityTooLarge)�StreamResponse)�BaseRequest� FileField�Request)�Application)�RequestHandler)�UrlMappingMatchInfoT)�auto_attribs�frozen�slotsc��������������������L�����e�Zd�ZU�eed<���eed<���ej��������ed<���eed<���ded<���dS�)r1����name�filename�file�content_type�CIMultiDictProxy[str]�headersN)�__name__� __module__�__qualname__�str�__annotations__�io�BufferedReader��������J/opt/cloudlinux/venv/lib64/python3.11/site-packages/aiohttp/web_request.pyr1���r1���D���sK���������������� �I�I�I��M�M�M� � �������� $�$�$�$�$�$rH���r1���z!#$%&'*+.^_`|~-�_TCHAR�[z]+�_TOKENz[{}]��c��������������#����4���K����|�]}t����������|������������V����d�S��N)�chr)�.0�cs��� rI���� <genexpr>rS���S���s(����������K�K��S��V�V�K�K�K�K�K�KrH���)� ���� ����!����#��������_QDTEXTz \\[\t !-~]�_QUOTED_PAIRz"(?:{quoted_pair}|{qdtext})*")�qdtext�quoted_pair�_QUOTED_STRINGz0({token})=({token}|{quoted_string})(:\d{{1,4}})?)�token� quoted_string�_FORWARDED_PAIRz\\([\t !-~])�_QUOTED_PAIR_REPLACE_RE�_FORWARDED_PAIR_REc��������������������.����e�Zd�Zej��������ej��������ej��������ej��������ej��������hZ e j���������eg�d�������������z��Zdddddd�de deddd ed ddej��������d edeeeef������������������dee���������dee���������dee���������ddfd�Zeeeeeed�dededededededd�fd�Zed]d���������������Zed^d���������������Zedeej�����������������fd���������������Z edefd���������������Z!e"de fd���������������Z#e"de$fd���������������Z%e"dej��������fd���������������Z&d edefd!�Z'd ed"eddfd#�Z(d eddfd$�Z)defd%�Z*de+e���������fd&�Z,e"de-fd'���������������Z.e"de/e0eef���������d(f���������fd)���������������Z1e"defd*���������������Z2e"defd+���������������Z3e"de4fd,���������������Z5e"defd-���������������Z6e"dee���������fd.���������������Z7e"de$fd/���������������Z8e"defd0���������������Z9e"defd1���������������Z:e"defd2���������������Z;e"d_d4���������������Z<e"defd5���������������Z=e"d`d7���������������Z>e"de?fd8���������������Z@e"deeAjA�����������������fd9���������������ZBe"deeAjA�����������������fd:���������������ZCeDd;ede+eE���������fd<���������������ZFeGd=ee���������dee/eEd(f������������������fd>���������������ZHe"dee/eEd(f������������������fd?���������������ZIe"dee/eEd(f������������������fd@���������������ZJe"deeAjA�����������������fdA���������������ZKe"de-fdB���������������ZLe"de0eef���������fdC���������������ZMe"deNfdD���������������ZOe"defdE���������������ZPede-fdF���������������ZQede-fdG���������������ZRe"de-fdH���������������ZSdadI�ZTdeUfdJ�ZVdefdK�ZWeXdL�dMeYdefdN�ZZde[fdO�Z\dbdQ�Z]dcdRedSedefdT�Z^defdU�Z_dVe`de-fdW�Zade-fdX�ZbdYecddfdZ�Zdd[eeddfd\�ZfdS�)dr0���)�_message� _protocol�_payload_writer�_payload�_headers�_method�_version�_rel_url�_post�_read_bytes�_state�_cache�_task�_client_max_size�_loop�_transport_sslcontext�_transport_peernamei���N)�client_max_size�state�scheme�host�remote�message�payload�protocolr4����payload_writer�task�asyncio.Task[None]�loopru���rv���rw���rx���ry����returnc���������������������|�i�}||�_���������||�_��������||�_��������||�_��������|j��������|�_��������|j��������|�_��������|j��������|�_ ��������i�|�_ ��������|j��������}|�����������������������������������rB||�j ��������d<���|j ��������|�j ��������d<���|j��������|�j ��������d<���|�����������������������������������|�_��������n|j��������|�_��������d�|�_��������d�|�_��������||�_��������||�_��������||�_��������||�_��������|�j��������j��������} | �J��| ���������������������d������������|�_��������| ���������������������d������������|�_��������| � | |�j ��������d<���| � | |�j ��������d<���|�||�j ��������d<���d�S�d�S�)N�urlrx���rw���� sslcontext�peernamery���)rd���re���rf���rg���r?���rh����methodri����versionrj���ro���r�����is_absoluterx���rw����relativerk���rl���rm���rn���rp���rq���rr���� transport�get_extra_infors���rt���)�selfrz���r{���r|���r}���r~���r����ru���rv���rw���rx���ry���r����r����s��� rI����__init__zBaseRequest.__init__����s\�������=��E��� �!���-����� ���� ��~������ �&(����k���?�?���� (��"%�D�K���"%�(�D�K���$'�J�D�K��!��L�L�N�N�D�M�M�#�K�D�M�MQ�� �,0�������� � /����� ��N�,� ��$�$�$�%.�%=�%=�l�%K�%K��"�#,�#;�#;�J�#G�#G�� ���$*�D�K��!���"&�D�K�����$*�D�K��!�!�!���rH����r�����rel_urlr?���rw���rx���ry���r����r����r?���c�����������������j����|�j���������rt����������d�������������i�}|t����������ur||d<���|t����������ur&t����������|������������}||d<���t ����������|������������|d<���|t����������urMt����������t ����������|������������������������|d<���t����������d��|�����������������������������������D���������������������������|d<����|�j ��������j ��������di�|��} i�} |t����������ur|| d<���|t����������ur|| d <���|t����������ur|| d <����|�j��������| |�j��������|�j ��������|�j��������|�j��������|�j��������f|�j��������|�j�������������������������������������������d�| ��S�) a��Clone itself with replacement some attributes. Creates and returns a new instance of Request object. If no parameters are given, an exact copy is returned. If a parameter is not passed, it will reuse the one from the current request object. z.Cannot clone request after reading its contentr����r�����pathr?���c��������������3����p���K����|�]1\��}}|����������������������d�������������|����������������������d�������������fV����2dS�)�utf-8N)�encode)rQ����k�vs��� rI���rS���z$BaseRequest.clone.<locals>.<genexpr>����sT�����������'��'�;?�1�a����'�"�"�A�H�H�W�$5�$5�6�'��'��'��'��'��'rH����raw_headersrw���rx���ry���)ru���rv���rG���)rm����RuntimeErrorr!���r���rC���r���r����tuple�itemsrd����_replace� __class__rg���re���rf���rp���rr���rq���rn����copy)r����r����r����r?���rw���rx���ry����dct�new_urlrz����kwargss��� rI����clonezBaseRequest.clone����s������ ���� T��R�S�S�S� ����!�!�"�C��M��(�"�"��'�l�l�G� �C��J��g�,�,�C��K��(�"�"�-�k�'�.B�.B�C�C�C� �N�!&��'��'�CJ�=�=�?�?�'��'��'��"��"�C� ���)�$�-�(�/�/�3�/�/������!�!�%�F�8���x���!�F�6�N���!�!�%�F�8���t�~���M��N�� ��J��J� ��!�1��+�"�"�$�$� �� ��� �� �� rH���c�����������������������|�j���������S�rO���)rp����r����s��� rI���r~���zBaseRequest.task����s �������z�rH���c�����������������������|�j���������S�rO���)re���r����s��� rI���r|���zBaseRequest.protocol��s �������~�rH���c������������������,�����|�j����������d�S�|�j���������j��������S�rO���)re���r����r����s��� rI���r����zBaseRequest.transport��s�������>�!��4��~�'�'rH���c�����������������������|�j���������S�rO���)rf���r����s��� rI����writerzBaseRequest.writer��s�������#�#rH���c������������������H�����t����������j��������dt����������d��������������|�j��������S�)NzRequest.message is deprecated������ stacklevel)�warnings�warn�DeprecationWarningrd���r����s��� rI���rz���zBaseRequest.message��s$������� �5�7I�VW�X�X�X�X��}�rH���c�����������������������|�j���������S�rO���)rk���r����s��� rI���r����zBaseRequest.rel_url��s �������}�rH���c������������������H�����t����������j��������dt����������d��������������|�j��������S�)Nz#request.loop property is deprecated����r����)r����r����r����rr���r����s��� rI���r����zBaseRequest.loop��s.������� �1�3E�RS� �� �� �� ���z�rH����keyc�����������������������|�j���������|���������S�rO����rn����r����r����s��� rI����__getitem__zBaseRequest.__getitem__"��s�������{�3��rH����valuec�����������������������||�j���������|<���d�S�rO���r����)r����r����r����s��� rI����__setitem__zBaseRequest.__setitem__%��s������ ���C���rH���c�����������������������|�j���������|=�d�S�rO���r����r����s��� rI����__delitem__zBaseRequest.__delitem__(��s�������K����rH���c������������������*�����t����������|�j��������������������S�rO���)�lenrn���r����s��� rI����__len__zBaseRequest.__len__+��s�������4�;���rH���c������������������*�����t����������|�j��������������������S�rO���)�iterrn���r����s��� rI����__iter__zBaseRequest.__iter__.��s�������D�K� � � rH���c�����������������������|�j���������dk����S�)z5A bool indicating if the request is handled with SSL.�https)rw���r����s��� rI����securezBaseRequest.secure3��s��������{�g�%�%rH���.c����������������������g�}|�j���������j�����������������������������t����������j��������d������������D��]�}t����������|������������}d}d}i�}|���������������������t����������j��������|�������������������������d|cxk����r|k������rOn��Pt����������� ��������������������||������������}|��|r|���������������������d|������������}�n|�����������������������������������\��}} } | d���������dk����r#t�������������������������������d| dd ����������������������} | r| | z ��} | ||�����������������������������������<���|t����������|���������������������d������������������������z ��}d }nw||���������dk����r1d}i�}|���������������������t����������j��������|�������������������������|dz ��}n:||���������dk����rd}|dz ��}n&||���������dv�r|dz ��}n|���������������������d|������������}d|cxk����r|k�������I�������t#����������|������������S�) a���A tuple containing all parsed Forwarded header(s). Makes an effort to parse Forwarded headers as specified by RFC 7239: - It adds one (immutable) dictionary per Forwarded 'field-value', ie per proxy. The element corresponds to the data in the Forwarded field-value added by the first proxy encountered by the client. Each subsequent item corresponds to those added by later proxies. - It checks that every value has valid syntax in general as specified in section 4: either a 'token' or a 'quoted-string'. - It un-escapes found escape sequences. - It does NOT validate 'by' and 'for' contents as specified in section 6. - It does NOT validate 'host' contents (Host ABNF). - It does NOT validate 'proto' contents for valid URI scheme names. Returns a tuple containing one or more immutable dicts rG���r���FN�,�"z\1r������T�;z )rd���r?����getallr���� FORWARDEDr�����append�typesr���rb����match�find�groupsra����sub�lower�groupr����)r�����elems�field_value�length�pos�need_separator�elemr����r:���r�����ports��� rI���� forwardedzBaseRequest.forwarded8��s�����(����=�0�7�7����K�K��% 5��% 5�K���%�%�F��C�"�N�#%�D��L�L��/��5�5�6�6�6��s�#�#�#�#�V�#�#�#�#�#�*�0�0��c�B�B���$�%��.�)�.�.�s�C�8�8���,1�L�L�N�N�)��e�T� ��8�s�?�?�$;�$?�$?��u�Q�r�T�{�$S�$S�E���*�!�T�M�E�-2��T�Z�Z�\�\�*��s�5�;�;�q�>�>�2�2�2��)-��� ��%��,�,�%*�N��D��L�L��!7��!=�!=�>�>�>��1�H�C�C� ��%��,�,�%*�N��1�H�C�C� ��%��.�.���1�H�C�C��&�*�*�3��4�4�C�?��s�#�#�#�#�V�#�#�#�#��@��U�|�|�rH���c�����������������������|�j���������rdS�dS�)a��A string representing the scheme of the request. Hostname is resolved in this order: - overridden value by .clone(scheme=new_scheme) call. - type of connection to peer: HTTPS if socket is SSL, HTTP otherwise. 'http' or 'https'. r�����http)rs���r����s��� rI���rw���zBaseRequest.schemeu��s��������%�� ��7��6rH���c�����������������������|�j���������S�)zyRead only property for getting HTTP method. The value is upper-cased str like 'GET', 'POST', 'PUT' etc. )ri���r����s��� rI���r����zBaseRequest.method���s��������|�rH���c�����������������������|�j���������S�)zxRead only property for getting HTTP version of request. Returns aiohttp.protocol.HttpVersion instance. )rj���r����s��� rI���r����zBaseRequest.version���s��������}�rH���c�����������������������|�j���������j�����������������������������t����������j��������������������}|�|S�t����������j����������������������S�)z�Hostname of the request. Hostname is resolved in this order: - overridden value by .clone(host=new_host) call. - HOST HTTP header - socket.getfqdn() value )rd���r?����getr����HOST�socket�getfqdn)r����rx���s��� rI���rx���zBaseRequest.host���s7��������}�$�(�(���3�3�����K��~���rH���c�����������������������|�j����������dS�t����������|�j���������t����������t����������f������������rt ����������|�j���������d���������������������S�t ����������|�j���������������������S�)z�Remote IP of client initiated HTTP request. The IP is resolved in this order: - overridden value by .clone(remote=new_remote) call. - peername of opened socket Nr���)rt���� isinstance�listr����rC���r����s��� rI���ry���zBaseRequest.remote���sR��������#�+��4��d�.��u� �>�>�� 4��t�/��2�3�3�3��4�+�,�,�,rH���c������������������v�����t����������j��������|�j��������|�j���������������������}|���������������������|�j��������������������S�)N)rw���rx���)r����buildrw���rx����joinrk���)r����r����s��� rI���r����zBaseRequest.url���s.�������i�t�{���;�;�;���x�x�� �&�&�&rH���c�����������������������|�j���������j��������S�)z_The URL including *PATH INFO* without the host or scheme. E.g., ``/app/blog`` )rk���r����r����s��� rI���r����zBaseRequest.path���s��������}�!�!rH���c������������������*�����t����������|�j��������������������S�)zXThe URL including PATH_INFO and the query string. E.g, /app/blog?id=10 )rC���rk���r����s��� rI����path_qszBaseRequest.path_qs���s��������4�=�!�!�!rH���c�����������������������|�j���������j��������S�)z�The URL including raw *PATH INFO* without the host or scheme. Warning, the path is unquoted and may contains non valid URL characters E.g., ``/my%2Fpath%7Cwith%21some%25strange%24characters`` )rd���r����r����s��� rI����raw_pathzBaseRequest.raw_path���s��������}�!�!rH����MultiDictProxy[str]c������������������4�����t����������|�j��������j��������������������S�)z7A multidict with all the variables in the query string.)r���rk����queryr����s��� rI���r����zBaseRequest.query���s��������d�m�1�2�2�2rH���c�����������������������|�j���������j��������S�)z:The query string in the URL. E.g., id=10 )rk����query_stringr����s��� rI���r����zBaseRequest.query_string���s��������}�)�)rH���r>���c�����������������������|�j���������S�)z4A case-insensitive multidict proxy with all headers.)rh���r����s��� rI���r?���zBaseRequest.headers������������}�rH���c�����������������������|�j���������j��������S�)z$A sequence of pairs for all headers.)rd���r����r����s��� rI���r����zBaseRequest.raw_headers���s��������}�(�(rH���c������������������d�����t����������|�j�����������������������������t����������j��������������������������������S�)zyThe value of If-Modified-Since HTTP header, or None. This header is represented as a `datetime` object. )r���r?���r����r����IF_MODIFIED_SINCEr����s��� rI����if_modified_sincezBaseRequest.if_modified_since���s%��������t�|�/�/��0F�G�G�H�H�HrH���c������������������d�����t����������|�j�����������������������������t����������j��������������������������������S�)z{The value of If-Unmodified-Since HTTP header, or None. This header is represented as a `datetime` object. )r���r?���r����r����IF_UNMODIFIED_SINCEr����s��� rI����if_unmodified_sincezBaseRequest.if_unmodified_since���s%��������t�|�/�/��0H�I�I�J�J�JrH����etag_headerc��������������#������K����|�t�����������k����rt����������dt������������������������V���dS�t����������j��������|�������������D�]B}|���������������������ddd������������\��}}}|r�dS�t����������t����������|������������|�������������V����CdS�)z'Extract `ETag` objects from raw header.F)�is_weakr����r����r��������N)r���r���r����finditerr�����bool)r����r����r���r�����garbages��� rI����_etag_valueszBaseRequest._etag_values���s�������������(�"�"���������� �� �� �� �� � �-�5�k�B�B�� �� ��*/�+�+�a��A�*>�*>�'���������E�E�� ��M�M��������������� �� rH����header_valuec������������������N�����|sd�S�t����������|����������������������|������������������������S�rO���)r����r��)�clsr��s��� rI����_if_match_or_none_implz"BaseRequest._if_match_or_none_impl��s-��������� ��4��S�%�%�l�3�3�4�4�4rH���c������������������p�����|�����������������������|�j�����������������������������t����������j��������������������������������S�)zxThe value of If-Match HTTP header, or None. This header is represented as a `tuple` of `ETag` objects. )r ��r?���r����r����IF_MATCHr����s��� rI����if_matchzBaseRequest.if_match��s*��������*�*�4�<�+;�+;�D�M�+J�+J�K�K�KrH���c������������������p�����|�����������������������|�j�����������������������������t����������j��������������������������������S�)z}The value of If-None-Match HTTP header, or None. This header is represented as a `tuple` of `ETag` objects. )r ��r?���r����r���� IF_NONE_MATCHr����s��� rI���� if_none_matchzBaseRequest.if_none_match��s+��������*�*�4�<�+;�+;�D�<N�+O�+O�P�P�PrH���c������������������d�����t����������|�j�����������������������������t����������j��������������������������������S�)zpThe value of If-Range HTTP header, or None. This header is represented as a `datetime` object. )r���r?���r����r����IF_RANGEr����s��� rI����if_rangezBaseRequest.if_range'��s$��������t�|�/�/�� �>�>�?�?�?rH���c�����������������������|�j���������j���������S�)zIs keepalive enabled by client?)rd����should_closer����s��� rI���� keep_alivezBaseRequest.keep_alive/��s��������=�-�-�-rH���c�����������������������|�j������������������������������t����������j��������d������������}t ����������|������������}t����������d��|�����������������������������������D���������������������������S�)zMReturn request cookies. A read-only dictionary-like object. rM���c������������������$�����i�|�] \��}}||j�����������S�rG���)r����)rQ���r�����vals��� rI���� <dictcomp>z'BaseRequest.cookies.<locals>.<dictcomp><��s ������ O� O� O�H�C���c�i� O� O� OrH���)r?���r����r����COOKIEr���r���r����)r�����raw�parseds��� rI����cookieszBaseRequest.cookies4��sO��������l���t�{�B�/�/��$0��$5�$5��� O� O������ O� O� O�P�P�PrH���c�����������������������|�j������������������������������t����������j��������������������}d\��}}|�� �d}t ����������j��������||������������d���������\��}}n#�t����������$�r�t����������d�������������w�xY�w|rt����������|������������nd}|rt����������|������������nd}|�|�|�}d}|�|�|dz ��}||k����rt����������d�������������||cxu�r�n�nt����������d�������������t����������||d������������S�) zMThe content of Range HTTP header. Return a slice instance. )NNNz^bytes=(\d*)-(\d*)$r���zrange not in acceptable formatr���zstart cannot be after endz"No start or end of range specified) rh���r����r����RANGE�re�findall� IndexError� ValueError�int�slice)r�����rng�start�end�patterns��� rI���� http_rangezBaseRequest.http_range>��s&�������m���� �+�+��� ��s��?� C�0���Z���5�5�a�8� ��s�s���� C�� C�� C� �!A�B�B�B� C�����"�+�#�c�(�(�(�t�C�"'�1�C��J�J�J�T�E��}��������� �S�_��q����C�<�<�$�%@�A�A�A���#�#�#�#�#�#�#�#� �!E�F�F�F��U�C��#�#�#s���� A��A(c�����������������������|�j���������S�)zReturn raw payload stream.)rg���r����s��� rI����contentzBaseRequest.contentb��r����rH���c������������������n�����t����������j��������dt����������d��������������|�j��������������������������������������������S�)�@Return True if request's HTTP BODY can be read, False otherwise.z$Deprecated, use .can_read_body #2005r����r����)r����r����r����rg����at_eofr����s��� rI����has_bodyzBaseRequest.has_bodyg��s?������� � �2�4F�ST� �� �� �� ���=�'�'�)�)�)�)rH���c������������������6�����|�j���������������������������������������������S�)r.��)rg���r/��r����s��� rI���� can_read_bodyzBaseRequest.can_read_bodyo��s��������=�'�'�)�)�)�)rH���c������������������8�����t����������|�j��������������������t����������uS�)z6Return True if request has HTTP BODY, False otherwise.)�typerg���r&���r����s��� rI����body_existszBaseRequest.body_existst��s��������D�M�"�"�*;�;�;rH���c����������������������K����|�j��������������������������������������������s:|�j����������������������������������������������d{V����|�j���������������������������������������������8dS�dS�)zKRelease request. Eat unread part of HTTP BODY if present. N)rg���r/���readanyr����s��� rI����releasezBaseRequest.releasey��sp���������� ��-�&�&�(�(�� *��-�'�'�)�)�)�)�)�)�)�)�)���-�&�&�(�(�� *�� *�� *�� *�� *rH���c�������������������F��K����|�j�����������t������������������������} �|�j���������������������������������������������d{V���}|���������������������|�������������|�j��������r0t ����������|������������}||�j��������k����rt����������|�j��������|��������������|sn�ot����������|������������|�_���������|�j���������S�)z_Read request body if present. Returns bytes object with full request content. NT��max_size�actual_size) rm���� bytearrayrg���r7���extendrq���r����r.����bytes)r�����body�chunk� body_sizes��� rI����readzBaseRequest.read���s����������� ���#��;�;�D� �"�m�3�3�5�5�5�5�5�5�5�5�����E�"�"�"��(��� #�D� � �I� �D�$9�9�9�7�%)�%:� ������������� �� %�T�{�{�D����rH���c�������������������v���K����|���������������������������������������d{V���}|�j��������pd}|���������������������|������������S�)z1Return BODY as text using encoding from .charset.Nr����)rC���charset�decode)r����� bytes_body�encodings��� rI����textzBaseRequest.text���sE�����������9�9�;�;�&�&�&�&�&�&� ��<�*�7��� � ��*�*�*rH���)�loadsrJ��c������������������P���K����|���������������������������������������d{V���}�||������������S�)zReturn BODY as JSON.N)rI��)r����rJ��r@��s��� rI����jsonzBaseRequest.json���s3�����������Y�Y�[�[� � � � � � ���u�T�{�{�rH���c�������������������:���K����t����������|�j��������|�j��������������������S�)z3Return async iterator to process BODY as multipart.)r%���rh���rg���r����s��� rI���� multipartzBaseRequest.multipart���s�����������t�}�d�m�<�<�<rH����,MultiDictProxy[Union[str, bytes, FileField]]c���������������������K����|�j����������|�j���������S�|�j��������|�j��������vr't����������t ������������������������������������|�_���������|�j���������S�|�j��������}|dvr't����������t ������������������������������������|�_���������|�j���������S�t ������������������������}|dk�����r�|��������������������������������������d{V���}|�j��������}|�������������������������������������d{V���}|��od}|j ��������� ��������������������t����������j��������������������}t����������|t�����������������������r|j���������J��|j���������r/t#����������j����������������������}|���������������������d���������������d{V���} | r�|���������������������| ������������} |���������������������| �������������|t-����������| ������������z ��}d|cxk�����r|k�����r(n�n%|������������������������������������t1����������||��������������|���������������������d���������������d{V���} | ��|���������������������d�������������|�d}t5����������|j��������|j��������t7����������t8����������j��������|������������||j ��������������������} |���������������������|j��������| �������������n�|���������������������d � ��������������d{V���}|�|� ��������������������d������������rE|�!��������������������d� ������������}|���������������������|j��������|���������������������|�������������������������n|���������������������|j��������|�������������|t-����������|������������z ��}d|cxk�����r|k�����rn�n!t1����������||��������������ntE����������d�������������|�������������������������������������d{V���}|��ono|��������������������������������������d{V���} | rS|�j#��������pd}|�$��������������������tK����������| �&�������������������������������������������������������|������������d |��������������������������t����������|������������|�_���������|�j���������S�)zReturn POST parameters.N)rM���z!application/x-www-form-urlencoded�multipart/form-datarQ��r���i���)�sizer:��zapplication/octet-streamT)rF��ztext/r����)�defaultz8To decode nested multipart you need to use custom reader)�keep_blank_valuesrH��)'rl���ri����POST_METHODSr���r���r=���rN��rq����nextr?���r����r����CONTENT_TYPEr����r$���r:���r;����tempfile� TemporaryFile� read_chunkrF���writer�����closer.����seekr1���r���rE���rF����addrC��� startswith�get_charsetr#��rE��r>��r����rstrip)r����r=����outrN��r;���fieldrR���field_ct�tmprA���ffr����rE���datas��� rI����postzBaseRequest.post���s>����������:�!��:���<�t�0�0�0�'� ���4�4�D�J��:���(���� �� �� � �(� ���4�4�D�J��:��7@�{�{���0�0�0�"�n�n�.�.�.�.�.�.�.�.�I��,�H�#�.�.�*�*�*�*�*�*�*�*�E��#��� �=�,�,�T�->�?�?���e�^�4�4��2� �:�1�1�1���~��'�&�4�6�6��&+�&6�&6�E�&6�&B�&B� B� B� B� B� B� B��#�� G�$)�L�L��$7�$7�E��I�I�e�,�,�,� �C��J�J�.�D� �8�2�2�2�2�d�2�2�2�2�2� #� � ����&?�-5�4�'"��'"��'"��!"��+0�*:�*:��*:�*F�*F�$F�$F�$F�$F�$F�$F�E��$�� G���������#�+�'A�H�&�!�J�!�N� ��!2�C�8�8�$�!�M���������� �B�/�/�/�/��',�j�j��j�&=�&=� =� =� =� =� =� =��#�+�x�/B�/B�7�/K�/K�+�&+�&7�&7��&7�&H�&H�G��G�G�E�J����W�0E�0E�F�F�F�F��G�G�E�J��6�6�6���E� � �*���x�.�.�.�.�$�.�.�.�.�.�";�)1�t�#��#��#����/� �%�U�������(�n�n�.�.�.�.�.�.�.�.��q��#��t������$�$�$�$�$�$�D��� ��,�1�'��� � ����� � �,�,�W�5�5�*.�!(������������$�C�(�(�� ��z�rH���r:���rS��c������������������Z�����|�j���������}|�|S�|j��������}|�|S�|���������������������||������������S�)z"Extra info from protocol transport)re���r����r����)r����r:���rS��r|���r����s��� rI���r����zBaseRequest.get_extra_info��s=�������>�����N��&� ����N��'�'��g�6�6�6rH���c�����������������������|�j������������������������������dd���������������������������������d������������}d���������������������|�j��������j��������|�j��������|������������S�)N�ascii�backslashreplacez<{} {} {} >)r����r����rF���formatr����r@���ri���)r�����ascii_encodable_paths��� rI����__repr__zBaseRequest.__repr__��sW������#�y�/�/��9K�L�L�S�S�� �� ����#�#��N�#�T�\�3G� �� �� rH����otherc������������������B�����t����������|�������������t����������|������������k����S�rO���)�id)r����rp��s��� rI����__eq__zBaseRequest.__eq__��s�������$�x�x�2�e�9�9�$�$rH���c�����������������������dS�)NTrG���r����s��� rI����__bool__zBaseRequest.__bool__��s�������trH����responsec������������������� ���K����d�S�rO���rG���)r����rv��s��� rI���� _prepare_hookzBaseRequest._prepare_hook��s�����������rH����excc������������������:�����|�j������������������������������|�������������d�S�rO���)rg���� set_exception)r����ry��s��� rI����_cancelzBaseRequest._cancel"��s������� �#�#�C�(�(�(�(�(rH���)r����r���)r����r4���)r����r����)r����r>���)r����N)r����rO��rO���)gr@���rA���rB���r���� METH_PATCH� METH_POST�METH_PUT� METH_TRACE�METH_DELETErU��r����ATTRS� frozensetr"���r'���r����asyncio�AbstractEventLoopr$��r���r���rC���r���r����r!���r-���r+���r�����propertyr~���r|���� Transportr����r����r ���rz���r���r����r����r����r����r����r����r���r����r��r����r ���r ���r����rw���r����r#���r����rx���ry���r����r����r����r����r����r����r?���r,���r�����datetimer����r�����staticmethodr���r���classmethodr ��r��r��r��r��r��r%��r*��r,��r0��r2��r5��r8��r?��rC��rI��r(���r*���rL��r%���rN��rh��r����ro���objectrs��ru��r/���rx��� BaseExceptionr|��rG���rH���rI���r0���r0���n���s� �������������� ����� ������L�� ���� �� �� �"��"�� �E�>� '�*.� $�"� $�7+��7+��7+�"�7+���7+��#� 7+� �-�7+��#� 7+���'�7+���7+����S�#�X��'�7+���� �7+���s�m�7+���� �7+�� �7+��7+��7+��7+�x��$� (����5 ��5 ��5 ���5 ��� 5 � ��5 ��� 5 ���5 ���5 �� �5 ��5 ��5 ��5 �n���������X�����������X����(�8�G�$5�6��(��(��(���X�(� ��$�,��$��$��$���X�$����*���������U��������������U�����g�/���������U�� �s�� �s�� �� �� �� �!�s��!�3��!�4��!��!��!��!��s���t��������� ��� �� �� �� �!�(�3�-��!��!��!��!� ��&���&��&��&���U�&���:�5���c��!2�C�!7�8��:��:��:���U�:�x�� ��� �� �� ���U� �������������U��������������U���� �c�� �� �� ���U� ���-��� ��-��-��-���U�-���'�S��'��'��'���U�'���"�c��"��"��"���U�"���"���"��"��"���U�"���"�#��"��"��"���U�"���3��3��3���U�3���*�c��*��*��*���U�*����������U����)�Z��)��)��)���U�)���I�8�H�,=�#>��I��I��I���U�I���K�X�h�.?�%@��K��K��K���U�K����#���(�4�.���������\��(��5�#�C�=�5� �%��c� �"� #�5��5��5���[�5���L�(�5��s��#3�4��L��L��L���U�L���Q�x��d�C�i�(8�9��Q��Q��Q���U�Q���@�(�8�#4�5��@��@��@���U�@���.�D��.��.��.���U�.���Q���c��*��Q��Q��Q���U�Q���!$�E��!$��!$��!$���U�!$�F������������U����*�$��*��*��*���X�*���*�t��*��*��*���X�*���<�T��<��<��<���U�<�*��*��*��*� �E�� �� �� �� �*+�C��+��+��+��+��2F�������;���#��������� =���=��=��=��=�^��^��^��^�@ 7�� 7�3�� 7��� 7��� 7�� 7�� 7�� 7� �#�� �� �� �� �%�F��%�t��%��%��%��%��$����������N���t���������)�=��)�T��)��)��)��)��)��)rH���r0���c��������������������������e�Zd�Zej���������edg������������z��Zdededdf��fd�Zerde deddf��fd �Z eeeeeed �de ded e de de de dd�f��fd�Zedd���������������Zedd���������������Zedefd���������������Zdeddfd�Z��xZS�)r2����_match_info�argsr����r����Nc������������������H�������t������������������������j��������|i�|���d�|�_��������d�S�rO���)�superr����r���)r����r���r����r����s��� �rI���r����zRequest.__init__*��s/������������$�)�&�)�)�)��;?����rH���r:���r��c�������������������������||�j���������vr:t����������j��������d���������������������|�j��������j��������|������������t����������d��������������t���������������������������������������������||�������������d�S�)Nz-Setting custom {}.{} attribute is discouragedr����r����) r���r����r����rm��r����r@���r����r����__setattr__)r����r:���r��r����s��� �rI���r���zRequest.__setattr__5��sj��������4�:�%�%�� �%�%+�V�D�N�,C�T�%J�%J�&� � �������� �G�G����c�*�*�*�*�*rH���r����r����r����r?���rw���rx���ry���c�����������������������t���������������������������������������������||||||�������������}t����������t����������|������������}|�j��������|_��������|S�)Nr����)r���r����r���r2���r���) r����r����r����r?���rw���rx���ry����ret�new_retr����s ��� �rI���r����z Request.clone?��sT���������g�g�m�m������� ��� �� ����w��$�$��"�.����rH���r5���c�����������������������|�j���������}|�J��|S�)zResult of route resolving.)r����r����� match_infos��� rI���r���zRequest.match_infoU��s��������%� ��%�%�%��rH���r3���c������������������&�����|�j���������}|�J��|j��������S�)zApplication instance.)r����current_appr���s��� rI����appzRequest.app\��s!��������%� ��%�%�%��%�%rH���c������������������������|�j���������}|�J��|j��������}|�j��������}|���������������������|������������}t ����������t����������|d�|dz�������������������������������������}t ����������|������������S�)Nr���)r����appsr����indexr�����reversedr���)r����r����lstr����idx�sublists��� rI����config_dictzRequest.config_dictc��sb�������%� ��%�%�%��o���h���i�i��n�n���x��I�c�A�g�I��/�/�0�0���W�%�%�%rH���rv��c�������������������v���K����|�j���������}|�d�S�|j��������D�]#}|j�����������������������������|�|��������������d�{V�����$d�S�rO���)r����_apps�on_response_prepare�send)r����rv��r���r���s��� rI���rx��zRequest._prepare_hookm��sc�����������%� ����F��#�� ?�� ?�C��)�.�.�t�X�>�>�>�>�>�>�>�>�>�>� ?�� ?rH���)r����r5���)r����r3���)r@���rA���rB���r0���r���r���r���r����r���rC���r���r!���r-���r+���r����r ���r���r���r���r���r���r/���rx��� __classcell__)r����s���@rI���r2���r2���&��s����������������� � �=�/� :� :�:�E�?�c��?�S��?�T��?��?��?��?��?��?�� �� +� +�C�� +�c�� +�d�� +�� +�� +�� +�� +�� +���$� (�������������� � ����� �������� ������������,���������U����&��&��&���X�&���&�]��&��&��&���X�&�?�N��?�t��?��?��?��?��?��?��?��?rH���r2���)ar���r���rE���r ��r�����stringrX��r����r�����http.cookiesr���r����typingr���r���r���r���r ���r ���r���r���r ���r���r����urllib.parser����attr� multidictr���r���r���r����yarlr���rM���r����abcr����helpersr���r���r���r���r���r���r���r ���r!����http_parserr"����http_writerr#���rN��r$���r%����streamsr&���r'����typedefsr(���r)���r*���r+���r,���r-����web_exceptionsr.����web_responser/����__all__�web_appr3����web_protocolr4����web_urldispatcherr5����sr1����digits� ascii_lettersrJ���rC���rD���rL���rm��r����r�����rangerY���rZ���r]���r`����compilera���rb���r0���r2���rG���rH���rI����<module>r������s6���������������� � � � �� � � � �� � � � �� � � � �����������������%��%��%��%��%��%��"��"��"��"��"��"�����������������������������������������������������#��"��"��"��"��"�������N��N��N��N��N��N��N��N��N��N��N��N��������������������������%��%��%��%��%��%� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��+��*��*��*��*��*��$��$��$��$��$��$��6��6��6��6��6��6��6��6��4��4��4��4��4��4��4��4���������������������������������6��5��5��5��5��5��(��(��(��(��(��(� 1�����7�$�$�$�$�$�$�,�,�,�,�,�,�6�6�6�6�6�6�����T�$�d�3�3�3�%��%��%��%��%��%��%��4�3�%���]�V�%9�9�<N�N���c� ��N��N��N��%�&�_�_�_���c� ��$��$��$��n�n��H�H�K�K�/�%�%���d�D�8I�8I�2J�2J�J�K�K�K�K�K������s���������)��e�C�j��(��(��(�=�D�D����E�������c� ��������8�>�>� ���?�����������������0:�r�z�/�/J�/J����w�s�|�,��J��J��J��+5�"�*�_�*E�*E���E�'�#�,�'��E��E��E�u )��u )��u )��u )��u )�.��c��*�L��u )��u )��u )�pL?��L?��L?��L?��L?�k��L?��L?��L?��L?��L?rH���