idUddlZddlZddlmZmZmZmZmZmZddl 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 E/opt/cloudlinux/venv/lib/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 tj zd|S)N)typerflagsrhostrrprotor)r getaddrinfosocket SOCK_STREAM AI_ADDRCONFIGAF_INET6len getnameinfoNI_NUMERICHOSTNI_NUMERICSERVintappendAI_NUMERICHOSTAI_NUMERICSERV) rrrrinfoshosts_r#addressr"_ports rresolvezThreadedResolver.resolvesEj,,  #& -        ,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%r/r0) rr"rrrespexcmsgr2r4s rr6zAsyncResolver.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"r/) rr"rrqtyperUrVrWr2rrs 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)rLcancelr9s rr:zAsyncResolver.closes  rrr;)r<r=r>r?rr@rArrr%rBrCr-rrr6rNr:r8rrr r NsCC5944w0144 4  4444"&'fn"03 d38n 6&'fn"03 d38n @      rr r)r@r%typingrrrrrrabcr helpersr __all__rI ImportErroraiodns_defaultr r _DefaultTyper__annotations__r8rrrhsF 9999999999999999!!!!!!%%%%%% BMMMM FFF7 7 7 7 7 '7 7 7 tN N N N N $N N N bE-)99:; 1? U EUUUUUUs .88