
    -PhD                        d Z ddlmZ ddlZddlmZ ddlmZmZ ddl	Z	ddl
mZ ddlZerddlZddlmZ ddlmZ d	ej         Z G d
 de          ZddZddZddZ G d de	j                  ZdS )zSimple requests package loader    )annotationsN)TYPE_CHECKING)urljoinurlsplit)InsecureRequestWarning)Sequence)AnyzNMozilla/5.0 (X11; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0 Sphinx/c                      e Zd ZdZd
dZd	S )_IgnoredRedirectionzASphinx-internal exception raised when an HTTP redirect is ignoreddestinationstrstatus_codeintreturnNonec                "    || _         || _        d S Nr   r   )selfr   r   s      T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/util/requests.py__init__z_IgnoredRedirection.__init__   s    &&    N)r   r   r   r   r   r   )__name__
__module____qualname____doc__r    r   r   r   r      s.        KK' ' ' ' ' 'r   r   urlr   certsstr | dict[str, str] | Noner   
str | boolc                    |sdS t          |t          t          z            r|S t          |           j        }d|v r|                    dd          \  }}|                    |d          S )z*Get additional CA cert for a specific URL.T@   )
isinstancer   tupler   netlocsplitget)r   r   hostname_s       r   _get_tls_cacertr,   "   sl     	)t	E3;	'	' )C=='(??"..a00KAxyy4(((r   kwargsr	   requests.Responsec                n    t                      5 } |j        | fi |cddd           S # 1 swxY w Y   dS )zySends a GET request like ``requests.get()``.

    This sets up User-Agent header and TLS verification automatically.
    N)_Sessionr)   r   r-   sessions      r   r)   r)   0   s    
 
 *ww{3))&))* * * * * * * * * * * * * * * * * *   *..c                n    t                      5 } |j        | fi |cddd           S # 1 swxY w Y   dS )z{Sends a HEAD request like ``requests.head()``.

    This sets up User-Agent header and TLS verification automatically.
    N)r0   headr1   s      r   r5   r5   9   s    
 
 +ww|C**6**+ + + + + + + + + + + + + + + + + +r3   c                  J     e Zd ZU ded<   d fdZd fdZ	 	 dd fdZ xZS )r0   zSequence[re.Pattern[str]]_ignored_redirectsargsr	   r-   r   r   c                p    |                     dd          | _         t                      j        |i | d S )Nr7   r   )popr7   superr   )r   r8   r-   	__class__s      r   r   z_Session.__init__E   s<    "(**-A2"F"F$)&)))))r   respr.   
str | Nonec                   |j         rVt          |j        |j        d                   t	          fd| j        D                       rt          |j                  t                      	                    |          S )z:Overrides the default requests.Session.get_redirect_targetlocationc              3  B   K   | ]}|                               V  d S r   )match).0patr   s     r   	<genexpr>z/_Session.get_redirect_target.<locals>.<genexpr>N   s/      MMc399[))MMMMMMr   r   )
is_redirectr   r   headersanyr7   r   r   r;   get_redirect_target)r   r=   r   r<   s     @r   rI   z_Session.get_redirect_targetI   s      	!$(DL,DEEKMMMMT5LMMMMM ) +9I    ww**4000r    r   methodr   r   _user_agent	_tls_info(tuple[bool, str | dict[str, str] | None]c                8   |                     di           }|                     d|pt                     |rO|\  }}t          |                    d|                    }	|                     d|	ot	          ||                     n|                    dd          }	|	r t                      j        ||fi |S t          j                    5  t          j	        dt                      t                      j        ||fi |cddd           S # 1 swxY w Y   dS )zSends a request with an HTTP verb and url.

        This sets up User-Agent header and TLS verification automatically.
        rG   z
User-AgentverifyTignore)categoryN)
setdefault_USER_AGENTboolr)   r,   r;   requestwarningscatch_warningsfilterwarningsr   )r   rK   r   rL   rM   r-   rG   
tls_verifytls_cacertsrP   r<   s             r   rV   z_Session.requestT   sl    ##Ir22<)CDDD 	0&/#J&**Xz::;;Fh(T?33T3TUUUUZZ$//F 	:"577?6399&999$&& 	: 	:#H7MNNNN"577?6399&99	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s   6DDD)r8   r	   r-   r	   r   r   )r=   r.   r   r>   )rJ   r   )rK   r   r   r   rL   r   rM   rN   r-   r	   r   r.   )r   r   r   __annotations__r   rI   rV   __classcell__)r<   s   @r   r0   r0   B   s         1111* * * * * *	1 	1 	1 	1 	1 	1 >@: : : : : : : : : : :r   r0   )r   r   r   r    r   r!   )r   r   r-   r	   r   r.   )r   
__future__r   rW   typingr   urllib.parser   r   requestsurllib3.exceptionsr   sphinxrecollections.abcr   r	   __version__rT   	Exceptionr   r,   r)   r5   Sessionr0   r   r   r   <module>ri      s`   $ $ " " " " " "              * * * * * * * *  5 5 5 5 5 5  III((((((# # # ' ' ' ' ') ' ' ') ) ) )* * * *+ + + +-: -: -: -: -:x -: -: -: -: -:r   