%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python37/lib64/python3.7/site-packages/aiohttp/__pycache__/
Upload File :
Create Path :
Current File : //opt/alt/python37/lib64/python3.7/site-packages/aiohttp/__pycache__/resolver.cpython-37.pyc

B

�Z�_�@s�ddlZddlZddlmZmZmZmZddlmZddl	m
Z
dZyddlZWne
k
rhdZYnXdZGdd	�d	e�ZGd
d�de�Zer�eneZdS)�N)�Any�Dict�List�Optional�)�AbstractResolver)�get_running_loop)�ThreadedResolver�
AsyncResolver�DefaultResolverFc@s^eZdZdZd
eejdd�dd�Zdej	fe
eeee
e
efd�dd	�Zdd
�dd�ZdS)r	zsUse Executor for synchronous getaddrinfo() calls, which defaults to
    concurrent.futures.ThreadPoolExecutor.
    N)�loop�returncCst|�|_dS)N)r�_loop)�selfr�r�C/opt/alt/python37/lib64/python3.7/site-packages/aiohttp/resolver.py�__init__szThreadedResolver.__init__r)�hostname�port�familyr
c
�s�|jj||tj|tjd�IdH}g}xz|D]r\}}}}}|tjkrl|drlt�|tjtjB�\}	}
t	|
�}n|dd�\}	}|�
||	|||tjtjBd��q*W|S)N)�typer�flags��)r�hostrr�protor)
rZgetaddrinfo�socketZSOCK_STREAMZ
AI_ADDRCONFIG�AF_INET6ZgetnameinfoZNI_NUMERICHOSTZNI_NUMERICSERV�int�append�AI_NUMERICHOST�AI_NUMERICSERV)rrrrZinfos�hosts�_r�addressrZ_portrrr�resolves*
zThreadedResolver.resolve)r
c�sdS)Nr)rrrr�close@szThreadedResolver.close)N)�__name__�
__module__�__qualname__�__doc__r�asyncio�AbstractEventLooprr�AF_INET�strrrrrr%r&rrrrr	s
"r	c@s�eZdZdZdeejeedd�dd�Zde	j
feeee
eeefd�dd	�Zde	j
feeee
eeefd�d
d�Zdd�d
d�ZdS)r
z9Use the `aiodns` package to make asynchronous DNS lookupsN)r�args�kwargsr
cOsHtdkrtd��t|�|_tj|d|i|��|_t|jd�sD|j|_dS)Nz Resolver requires aiodns libraryr�
gethostbyname)	�aiodns�RuntimeErrorrrZDNSResolver�	_resolver�hasattr�_resolve_with_queryr%)rrr/r0rrrrGs
zAsyncResolver.__init__r)rrrr
c	
�s�y|j�||�IdH}WnLtjjk
rd}z*t|j�dkrF|jdnd}t|�|�Wdd}~XYnXg}x.|jD]$}|�	||||dt
jt
jBd��qrW|s�td��|S)NrzDNS lookup failedr)rrrrrr)
r4r1r2�error�DNSError�lenr/�OSErrorZ	addressesrrr r!)	rrrr�resp�exc�msgr"r$rrrr%Ws"zAsyncResolver.resolvec

�s�|tjkrd}nd}y|j�||�IdH}WnLtjjk
rx}z*t|j�dkrZ|jdnd}t	|�|�Wdd}~XYnXg}x(|D] }	|�
||	j||dtjd��q�W|s�t	d��|S)NZAAAA�ArzDNS lookup failedr)rrrrrr)
rrr4Zqueryr2r7r8r9r/r:rrr )
rrrrZqtyper;r<r=r"Zrrrrrr6qs(

z!AsyncResolver._resolve_with_query)r
c�s
|j��S)N)r4Zcancel)rrrrr&�szAsyncResolver.close)N)r'r(r)r*rr+r,rrrr-r.rrrr%r6r&rrrrr
Ds
r
)r+r�typingrrrr�abcrZhelpersr�__all__r2�ImportErrorZaiodns_defaultr	r
rrrrr�<module>s
0Q

Zerion Mini Shell 1.0