Your IP : 216.73.216.108
�
�h�����UddlZddlZddlmZmZmZmZmZmZddl m
Z
ddlmZdZ
ddlZn
#e$rdZYnwxYwdZGd�d e
��ZGd
�de
��ZeeeefZereneZeed<dS)
�N)�Any�Dict�List�Optional�Type�Union�)�AbstractResolver)�get_running_loop)�ThreadedResolver�
AsyncResolver�DefaultResolverFc��eZdZdZddeejddfd�Zdej fde
ded edee
e
effd
�Zd
d�ZdS)rz�Threaded resolver.
Uses an Executor for synchronous getaddrinfo() calls.
concurrent.futures.ThreadPoolExecutor is used by default.
N�loop�returnc�.�t|��|_dS�N)r�_loop)�selfrs �G/opt/cloudlinux/venv/lib64/python3.11/site-packages/aiohttp/resolver.py�__init__zThreadedResolver.__init__s��%�d�+�+��
�
�
�r�hostname�port�familyc
��K�|j�||tj|tj����d{V��}g}|D]�\}}}}}|tjkrit
|��dkr�,|dr?tj|tjtj z��\} }
t|
��}n%|dd�\} }n|tjksJ�|\} }|�|| |||tj
tjzd�����|S)N)�typer�flags���r�hostrr�protor)r�getaddrinfo�socket�SOCK_STREAM�
AI_ADDRCONFIG�AF_INET6�len�getnameinfo�NI_NUMERICHOST�NI_NUMERICSERV�int�AF_INET�append�AI_NUMERICHOST�AI_NUMERICSERV)rrrr�infos�hosts�_r#�addressr"�_ports r�resolvezThreadedResolver.resolvesV�����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�
��
�
�
�
��rc��
K�dSr��rs r�closezThreadedResolver.closeJs�����rr�rN)�__name__�
__module__�__qualname__�__doc__r�asyncio�AbstractEventLooprr%r.�strr-rrrr7r;r9rrrrs���������,�,�X�g�&?�@�,�D�,�,�,�,�*+�&�.�*�*��*�#&�*�47�*�
�d�3��8�n� �*�*�*�*�X
�
�
�
�
�
rrc���eZdZdZ ddeejdededdfd�Zde j
fd ed
edede
eeeffd�Zde j
fd ed
edede
eeeffd
�Zdd�ZdS)r
z9Use the `aiodns` package to make asynchronous DNS lookupsNr�args�kwargsrc���t�td���t|��|_tj|d|i|��|_t
|jd��s|j|_dSdS)Nz Resolver requires aiodns libraryr�
gethostbyname) �aiodns�RuntimeErrorrr�DNSResolver� _resolver�hasattr�_resolve_with_queryr7)rrrErFs rrzAsyncResolver.__init__Qso���>��A�B�B�B�%�d�+�+��
��+�T�G��G��G�G����t�~��7�7� 4��3�D�L�L�L� 4� 4rrr"rrc
��K� |j�||���d{V��}nS#tjj$r<}t|j��dkr
|jdnd}t|��|�d}~wwxYwg}|jD]5}|� ||||dtjtjzd����6|std���|S)Nr �DNS lookup failedrr!)
rLrHrI�error�DNSErrorr)rE�OSError� addressesr/r%r0r1) rr"rr�resp�exc�msgr3r5s rr7zAsyncResolver.resolveas���� (���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�|tjkrd}nd} |j�||���d{V��}nS#tjj$r<}t|j��dkr
|jdnd}t|��|�d}~wwxYwg}|D]-} |�
|| j||dtjd����.|std���|S)N�AAAA�Ar rPrr!)
r%r(rL�queryrIrQrRr)rErSr/r"r0)
rr"rr�qtyperUrVrWr3�rrs
rrNz!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���dSr)rL�cancelr:s rr;zAsyncResolver.close�s ������������rrr<)r=r>r?r@rrArBrrr%r.rCr-rrr7rNr;r9rrr
r
Ns������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� �����@ � � � � � rr
r)rAr%�typingrrrrrr�abcr
�helpersr�__all__rI�ImportError�aiodns_defaultrr
�_DefaultTyper�__annotations__r9rr�<module>rhsF�������
�
�
�
�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
?>