o
    .jK                     @  sT   d dl mZ d dlZd dlZddlmZmZ ddlmZm	Z	 G dd deZ
dZdS )	    )annotationsN   )BaseResolverProtocolResolver)is_ipv4is_ipv6c                      s\   e Zd ZejZ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 )*NullResolverdummy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__ [/home/thesage/.local/lib/python3.10/site-packages/urllib3/contrib/resolver/null/__init__.pyr      s
   

 zNullResolver.__init__returnr   c                 C  s   | S Nr   r   r   r   r   recycle      zNullResolver.recycleNonec                 C  s   d S r   r   r   r   r   r   close   r   zNullResolver.closeboolc                 C  s   dS )NTr   r   r   r   r   is_available   r   zNullResolver.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   |d u rd}|d u rd}t |trt|}|dk rtdt |tr(|d}t|rA|tjkr6tdtj	|dd||ffgS t
|r\|tj	krOtdtj|dd||ddffgS td	| d
)N	localhostr   z&Servname not supported for ai_socktypeasciiz)Address family for hostname not supported       zTried to resolve 'z' using the NullResolver)
isinstancer   r*   socketgaierrorbytesdecoder   AF_INET6AF_INETr   )r   r"   r   r%   r'   r)   r+   r!   r   r   r   getaddrinfo   sV   




zNullResolver.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*   r!   r   r   r,   )__name__
__module____qualname__r   NULLprotocolimplementationr   r   r   r    r9   __classcell__r   r   r   r   r   
   s    


		r   )r   )
__future__r   r3   typing	protocolsr   r   utilsr   r   r   __all__r   r   r   r   <module>   s    ^