Edit File: resolver.cpython-311.pyc
� ����v�d������������������������������U�d�dl�Z�d�dlZd�dlmZmZmZmZmZmZ�ddl m Z �ddlmZ�dZ �d�dlZn #�e$�r�dZY�nw�xY�wdZ�G�d��d e ������������Z�G�d ��de ������������Zeeeef������������������ZereneZeed<���dS�) �����N)�Any�Dict�List�Optional�Type�Union����)�AbstractResolver)�get_running_loop)�ThreadedResolver� AsyncResolver�DefaultResolverFc�������������������������e�Zd�ZdZddeej�����������������ddfd�Zdej ��������fde ded edee e ef������������������fd �Zd d�ZdS�)r���z�Threaded resolver. Uses an Executor for synchronous getaddrinfo() calls. concurrent.futures.ThreadPoolExecutor is used by default. N�loop�returnc������������������.�����t����������|������������|�_��������d�S��N)r����_loop)�selfr���s��� �G/opt/cloudlinux/venv/lib64/python3.11/site-packages/aiohttp/resolver.py�__init__zThreadedResolver.__init__���s������%�d�+�+�� � � �����r����hostname�port�familyc����������� ����������K����|�j������������������������������||t����������j��������|t����������j�����������������������d�{V���}g�}|D�]�\��}}}}}|t����������j��������k����rit ����������|������������dk�����r�,|d���������r?t����������j��������|t����������j��������t����������j ��������z��������������\��} } t����������| ������������}n%|d�d����������\��} }n|t����������j��������k����sJ��|\��} }|���������������������|| |||t����������j ��������t����������j��������z��d����������������|S�)N)�typer����flags���������r����hostr���r����protor���)r����getaddrinfo�socket�SOCK_STREAM� AI_ADDRCONFIG�AF_INET6�len�getnameinfo�NI_NUMERICHOST�NI_NUMERICSERV�int�AF_INET�append�AI_NUMERICHOST�AI_NUMERICSERV)r���r���r���r����infos�hosts�_r#����addressr"����_ports��� r����resolvezThreadedResolver.resolve���sV�����������j�,�,����#���&��-�� �� �� �� �� �� �� �� �����,1�� �� �(�F�A�u�a�����(�(��w�<�<�!�#�#����1�:�� -��#)�"4���!6��9N�!N�#��#�K�D�%���u�:�:�D�D�!(��!���J�D�$�$����/�/�/�/�$� ��d��L�L� (� � �$�"�#�2�V�5J�J� ��� �� �� �� ���r���c������������������� ���K����d�S�r������r���s��� r����closezThreadedResolver.closeJ���s�����������r���r����r���N)�__name__� __module__�__qualname__�__doc__r����asyncio�AbstractEventLoopr���r%���r.����strr-���r���r���r���r7���r;���r9���r���r���r���r������s������������������,��,�X�g�&?�@��,�D��,��,��,��,��*+�&�.�*��*��*�#&�*�47�*� �d�3��8�n� �*��*��*��*�X �� �� �� �� �� r���r���c��������������������������e�Zd�ZdZ �ddeej�����������������dededdfd�Zde j ��������fd ed edede eeef������������������fd�Zde j ��������fd ed edede eeef������������������fd �Zdd�ZdS�)r ���z9Use the `aiodns` package to make asynchronous DNS lookupsNr����args�kwargsr���c������������������������t������������t����������d�������������t����������|������������|�_��������t����������j��������|d|i|��|�_��������t ����������|�j��������d������������s|�j��������|�_��������d�S�d�S�)Nz Resolver requires aiodns libraryr���� gethostbyname) �aiodns�RuntimeErrorr���r����DNSResolver� _resolver�hasattr�_resolve_with_queryr7���)r���r���rE���rF���s��� r���r���zAsyncResolver.__init__Q���so��������>��A�B�B�B�%�d�+�+�� ��+�T�G��G��G�G����t�~��7�7�� 4��3�D�L�L�L� 4�� 4r���r���r"���r���r���c����������� ����������K���� �|�j������������������������������||��������������d�{V���}nS#�t����������j��������j��������$�r<}t����������|j��������������������dk����r |j��������d���������nd}t����������|������������|�d�}~ww�xY�wg�}|j��������D�]5}|� ��������������������||||dt����������j��������t����������j��������z��d���������������6|st����������d�������������|S�)Nr ����DNS lookup failedr���r!���) rL���rH���rI����error�DNSErrorr)���rE����OSError� addressesr/���r%���r0���r1���) r���r"���r���r����resp�exc�msgr3���r5���s ��� r���r7���zAsyncResolver.resolvea���s��������� (���5�5�d�F�C�C�C�C�C�C�C�C�D�D���|�$�� (�� (�� (�!$�S�X���!�!3�!3�#�(�1�+�+�9L�C��#�,�,�C�'����� (��������~�� �� �G��L�L� $�#� �$��#�2�V�5J�J� ��� �� �� �� ���� /��-�.�.�.��s����!&��A6�7A1�1A6c����������� ����������K����|t�����������j��������k����rd}nd} �|�j�����������������������������||��������������d�{V���}nS#�t����������j��������j��������$�r<}t����������|j��������������������dk����r |j��������d���������nd}t����������|������������|�d�}~ww�xY�wg�}|D�]-} |� ��������������������|| j��������||dt�����������j��������d���������������.|st����������d�������������|S�)N�AAAA�Ar ���rP���r���r!���) r%���r(���rL����queryrI���rQ���rR���r)���rE���rS���r/���r"���r0���) r���r"���r���r����qtyperU���rV���rW���r3����rrs ��� r���rN���z!AsyncResolver._resolve_with_query{���s�����������V�_�$�$��E�E��E� (���-�-�d�E�:�:�:�:�:�:�:�:�D�D���|�$�� (�� (�� (�!$�S�X���!�!3�!3�#�(�1�+�+�9L�C��#�,�,�C�'����� (��������� �� �B��L�L� $��G� �$��#�2� ��� �� �� �� ���� /��-�.�.�.��s����!;��B�7B�Bc�������������������<���K����|�j���������������������������������������������d�S�r���)rL����cancelr:���s��� r���r;���zAsyncResolver.close����s ������������������r���r���r<���)r=���r>���r?���r@���r���rA���rB���r���r���r%���r.���rC���r-���r���r���r7���rN���r;���r9���r���r���r ���r ���N���s�������������C�C��59�4��4��w�0�1�4���4��� 4� � �4��4��4��4�"�&'�f�n������"��03�� �d�3��8�n� ��������6�&'�f�n������"��03�� �d�3��8�n� ��������@ �� �� �� �� �� r���r ���r���)rA���r%����typingr���r���r���r���r���r����abcr ����helpersr����__all__rI����ImportError�aiodns_defaultr���r ����_DefaultTyper����__annotations__r9���r���r����<module>rh������sF����������� � � � ��9��9��9��9��9��9��9��9��9��9��9��9��9��9��9��9��!��!��!��!��!��!��%��%��%��%��%��%� B����M�M�M�M���������� �F�F�F��������7 ��7 ��7 ��7 ��7 �'��7 ��7 ��7 �tN ��N ��N ��N ��N �$��N ��N ��N �b��E�-�)9�9�:�;��1?� U� � �EU����U��U��U��U��Us����.��8�8