o
    .j                     @  s@   d dl mZ d dlZd dlZddlmZmZ G dd deZdS )    )annotationsN   )BaseResolverProtocolResolverc                      sj   e Zd ZdZejZd) fddZd* fddZd+ddZ	d,ddZ
d-ddZ		d.ddd/d'd(Z  ZS )0SystemResolversocketpatternsstrkwargs
typing.Anyc                   sD   d|v r	| d d|v r| d t jd d g|R i | d S )Nserverport)popsuper__init__)selfr   r
   	__class__ c/home/thesage/.local/lib/python3.10/site-packages/urllib3_future/contrib/resolver/system/_socket.pyr      s
   

 zSystemResolver.__init__hostnamestr | bytes | Nonereturnbool | Nonec                   s8   |d u rdS t |tr|d}|dkrdS t |S )NTascii	localhost)
isinstancebytesdecoder   support)r   r   r   r   r   r      s   

zSystemResolver.supportr   c                 C  s   | S Nr   r   r   r   r   recycle      zSystemResolver.recycleNonec                 C  s   d S r    r   r!   r   r   r   close    r#   zSystemResolver.closeboolc                 C  s   dS )NTr   r!   r   r   r   is_available#   r#   zSystemResolver.is_availabler   F)quic_upgrade_via_dns_rrhostbytes | str | Noner   str | int | Nonefamilysocket.AddressFamilytypesocket.SocketKindprotointflagsr(   slist[tuple[socket.AddressFamily, socket.SocketKind, int, str | bytes, tuple[str, int] | tuple[str, int, int, int]]]c                C  s   t j||||||dS )N)r)   r   r,   r.   r0   r2   )r   getaddrinfo)r   r)   r   r,   r.   r0   r2   r(   r   r   r   r4   &   s   zSystemResolver.getaddrinfo)r   r	   r
   r   )r   r   r   r   )r   r   )r   r$   )r   r&   )r   r   )r)   r*   r   r+   r,   r-   r.   r/   r0   r1   r2   r1   r(   r&   r   r3   )__name__
__module____qualname__implementationr   SYSTEMprotocolr   r   r"   r%   r'   r4   __classcell__r   r   r   r   r   	   s    
	

		r   )
__future__r   r   typing	protocolsr   r   r   r   r   r   r   <module>   s
    