bgUddlZddlZddlmZmZmZmZmZmZddl m Z ddl m Z dZ ddlZn #e$rdZYnwxYwdZGdd e ZGd d e ZeeeefZereneZeed <dS) N)AnyDictListOptionalTypeUnion)AbstractResolver)get_running_loop)ThreadedResolver AsyncResolverDefaultResolverFc eZdZdZd deejddfdZdej fde de d e de e e effd Zd d ZdS)r zThreaded resolver. Uses an Executor for synchronous getaddrinfo() calls. concurrent.futures.ThreadPoolExecutor is used by default. Nloopreturnc.t||_dSN)r _loop)selfrs G/opt/cloudlinux/venv/lib64/python3.11/site-packages/aiohttp/resolver.py__init__zThreadedResolver.__init__s%d++ rhostnameportfamilyc K|j||tj|tjd{V}g}|D]\}}}}}|tjkrit |dkr,|dr?tj|tjtj z\} } t| }n%|dd\} }n|tj ksJ|\} }| || |||tj tjzd|S)N)typerflagsrhostrrprotor)r getaddrinfosocket SOCK_STREAM AI_ADDRCONFIGAF_INET6len getnameinfoNI_NUMERICHOSTNI_NUMERICSERVintAF_INETappendAI_NUMERICHOSTAI_NUMERICSERV) rrrrinfoshosts_r#addressr"_ports rresolvezThreadedResolver.resolvesVj,,  #& -        ,1   (FAua((w<ABB B%d++ +TGGGGt~77 43DLLL 4 4rrr"rrc K |j||d{V}nS#tjj$r<}t |jdkr |jdnd}t||d}~wwxYwg}|jD]5}| ||||dtj tj zd6|std|S)Nr DNS lookup failedrr!) rLrHrIerrorDNSErrorr)rEOSError addressesr/r%r0r1) rr"rrrespexcmsgr3r5s rr7zAsyncResolver.resolveas (55dFCCCCCCCCDD|$ ( ( (!$SX!!3!3#(1++9LC#,,C ' (~  G LL $# $#2V5JJ      /-.. . s!&A67A11A6c K|tjkrd}nd} |j||d{V}nS#tjj$r<}t|jdkr |jdnd}t||d}~wwxYwg}|D]-} | || j ||dtj d.|std|S)NAAAAAr rPrr!) r%r(rLqueryrIrQrRr)rErSr/r"r0) rr"rrqtyperUrVrWr3rrs rrNz!AsyncResolver._resolve_with_query{s V_ $ $EEE (--dE::::::::DD|$ ( ( (!$SX!!3!3#(1++9LC#,,C ' (  B LL $G $#2      /-.. . s!;B 7BB c<K|jdSr)rLcancelr:s rr;zAsyncResolver.closes  rrr<)r=r>r?r@rrArBrrr%r.rCr-rrr7rNr;r9rrr r NsCC5944w0144 4  4444"&'fn"03 d38n 6&'fn"03 d38n @      rr r)rAr%typingrrrrrrabcr helpersr __all__rI ImportErroraiodns_defaultr r _DefaultTyper__annotations__r9rrrhsF 9999999999999999!!!!!!%%%%%% BMMMM FFF7 7 7 7 7 '7 7 7 tN N N N N $N N N bE-)99:; 1? U EUUUUUUs .88