o
    'hC                  
   @  s  d Z ddlmZ ddlZddlZddlZddlZddlmZ ddlm	Z	 ddl
mZ ddlmZ dd	lmZ dd
lmZmZmZ ddlmZmZ ddlmZmZmZ ddlmZmZ ddlmZ ddl m!Z! ddl"m#Z# zddl$Z$W n	 e%y{   Y n"w e$j&'dse(de$j&de	j) ne$j*dk re%de$j&ddZ+dZ,eZdZ-e.e/0e  ej1fdBddZ2[ej3de	j4d d! ej3d"e	j5d d! e	j6fdCd&d'Z7e Z8dddd d d dd(dd)	dDd>d?Z9ej:d@krddAl;m<Z< e<  dS dS )Eze
Python HTTP library with thread-safe connection pooling, file post support, user friendly, and more
    )annotationsN)NullHandler   )
exceptions)
_TYPE_BODY)HTTPHeaderDict)__version__)HTTPConnectionPoolHTTPSConnectionPoolconnection_from_url)_TYPE_FIELDSencode_multipart_formdata)PoolManagerProxyManagerproxy_from_url)BaseHTTPResponseHTTPResponse)make_headers)Retry)TimeoutzOpenSSL zUurllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with z5. See: https://github.com/urllib3/urllib3/issues/3020)r   r   r   z5. See: https://github.com/urllib3/urllib3/issues/2168z(Andrey Petrov (andrey.petrov@shazow.net)MIT)r	   r   r
   r   r   r   r   r   add_stderr_loggerr   disable_warningsr   r   r   requestr   levelintreturn$logging.StreamHandler[typing.TextIO]c                 C  sF   t t}t  }|t d || ||  |dt |S )z
    Helper for quickly adding a StreamHandler to the logger. Useful for
    debugging.

    Returns the handler after adding it.
    z%%(asctime)s %(levelname)s %(message)sz,Added a stderr logging handler to logger: %s)	logging	getLogger__name__StreamHandlersetFormatter	Formatter
addHandlersetLeveldebug)r   loggerhandler r)   L/var/www/html/olx_land/venv/lib/python3.10/site-packages/urllib3/__init__.pyr   J   s   


r   alwaysT)appenddefaultcategorytype[Warning]Nonec                 C  s   t d|  dS )z<
    Helper for quickly disabling all urllib3 warnings.
    ignoreN)warningssimplefilter)r.   r)   r)   r*   r   k   s   r      	bodyfieldsheaderspreload_contentdecode_contentredirectretriestimeoutjsonmethodstrurlr6   _TYPE_BODY | Noner7   _TYPE_FIELDS | Noner8   typing.Mapping[str, str] | Noner9   bool | Noner:   r;   r<   Retry | bool | int | Noner=   Timeout | float | int | Noner>   typing.Any | Noner   c       	         C  s    t j| |||||||||	|
dS )a	  
    A convenience, top-level request method. It uses a module-global ``PoolManager`` instance.
    Therefore, its side effects could be shared across dependencies relying on it.
    To avoid side effects create a new ``PoolManager`` instance and use it instead.
    The method does not accept low-level ``**urlopen_kw`` keyword arguments.

    :param method:
        HTTP request method (such as GET, POST, PUT, etc.)

    :param url:
        The URL to perform the request on.

    :param body:
        Data to send in the request body, either :class:`str`, :class:`bytes`,
        an iterable of :class:`str`/:class:`bytes`, or a file-like object.

    :param fields:
        Data to encode and send in the request body.

    :param headers:
        Dictionary of custom headers to send, such as User-Agent,
        If-None-Match, etc.

    :param bool preload_content:
        If True, the response's body will be preloaded into memory.

    :param bool decode_content:
        If True, will attempt to decode the body based on the
        'content-encoding' header.

    :param redirect:
        If True, automatically handle redirects (status codes 301, 302,
        303, 307, 308). Each redirect counts as a retry. Disabling retries
        will disable redirect, too.

    :param retries:
        Configure the number of retries to allow before raising a
        :class:`~urllib3.exceptions.MaxRetryError` exception.

        If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a
        :class:`~urllib3.util.retry.Retry` object for fine-grained control
        over different types of retries.
        Pass an integer number to retry connection errors that many times,
        but no other types of errors. Pass zero to never retry.

        If ``False``, then retries are disabled and any exception is raised
        immediately. Also, instead of raising a MaxRetryError on redirects,
        the redirect response will be returned.

    :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int.

    :param timeout:
        If specified, overrides the default timeout for this one
        request. It may be a float (in seconds) or an instance of
        :class:`urllib3.util.Timeout`.

    :param json:
        Data to encode and send as JSON with UTF-encoded in the request body.
        The ``"Content-Type"`` header will be set to ``"application/json"``
        unless specified otherwise.
    r5   )_DEFAULT_POOLr   )r?   rA   r6   r7   r8   r9   r:   r;   r<   r=   r>   r)   r)   r*   r   u   s   Lr   
emscripten)inject_into_urllib3)r   r   r   r   )r.   r/   r   r0   )r?   r@   rA   r@   r6   rB   r7   rC   r8   rD   r9   rE   r:   rE   r;   rE   r<   rF   r=   rG   r>   rH   r   r   )=__doc__
__future__r   r   systypingr2   r    r   _base_connectionr   _collectionsr   _versionr   connectionpoolr	   r
   r   filepostr   r   poolmanagerr   r   r   responser   r   util.requestr   
util.retryr   util.timeoutr   sslImportErrorOPENSSL_VERSION
startswithwarnNotOpenSSLWarningOPENSSL_VERSION_INFO
__author____license____all__r   r    r$   DEBUGr   r3   SecurityWarningInsecurePlatformWarningHTTPWarningr   rI   r   platformcontrib.emscriptenrK   r)   r)   r)   r*   <module>   s|    

[
