o |nhC @sdZddlmZddlZddlZddlZddlZddlmZddlm Z ddl m Z ddl m Z dd lmZdd lmZmZmZdd lmZmZdd lmZmZmZdd lmZmZddlmZddl m!Z!ddl"m#Z#zddl$Z$Wn e%y{Yn"we$j&'dse(de$j&de j)ne$j*dkre%de$j&ddZ+dZ,eZdZ-e.e/0eej1fdBddZ2[ej3de j4d d!ej3d"e j5d d!e j6fdCd&d'Z7eZ8dddd d d dd(dd) dDd>d?Z9ej:d@krddAl;mtyping.Any | Nonerc Cs tj|||||||||| | 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?rAr6r7r8r9r:r;r<r=r>r)r)r*rusLr emscripten)inject_into_urllib3)rrrr)r.r/rr0)r?r@rAr@r6rBr7rCr8rDr9rEr:rEr;rEr<rFr=rGr>rHrr)=__doc__ __future__rrsystypingr2rr_base_connectionr _collectionsr_versionrconnectionpoolr r r filepostr r poolmanagerrrrresponserr util.requestr util.retryr util.timeoutrssl ImportErrorOPENSSL_VERSION startswithwarnNotOpenSSLWarningOPENSSL_VERSION_INFO __author__ __license____all__rr r$DEBUGrr3SecurityWarningInsecurePlatformWarning HTTPWarningrrIrplatformcontrib.emscriptenrKr)r)r)r*s|               [