
    nbi                       U d Z ddlmZ ddlZddlZddlmZmZmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZmZm Z  dd	l!m"Z" 	 dd
l#m$Z$  ej%        d e$                      Z&de'd<   n# e($ r dZ&Y nw xY w	 ddl)m*Z*  ej%        d e*                      Z+de'd<   n# e($ r dZ+Y nw xY w e"d          Z,de'd<   ej-        ddddddddddddddddded=            Z.ej-        dddddddddddddddddfd@            Z.ddddddedAddddddeddgdDZ.ej-        	 dhddddddddddddEdidH            Z/ej-        	 dhddddddddddddEdjdI            Z/	 dkdddedAdddddedEdldJZ/ej-        dddddddddddddKdmdM            Z0ej-        ddddddddddddNdjdO            Z0ddddedAdddddedKdldPZ0ej-        dddddddddddddKdmdQ            Z1ej-        ddddddddddddNdjdR            Z1ddddedSdddddedKdldTZ1ej-        	 	 dnddddddddddddddUdodV            Z2ej-        	 	 dndddddddddddddWdpdX            Z2	 	 dqdddddedAdddddedUdrdYZ2ej-        	 dhdddddddddddddddZdod[            Z3ej-        	 dhdddddddddddddd\dpd]            Z3	 dkddddddedAdddddedZdrd^Z3ej-        	 dhdddddddddddddddZdod_            Z4ej-        	 dhdddddddddddddd\dpd`            Z4	 dkddddddedAdddddedZdrdaZ4ej-        dddddddddddddKdmdb            Z5ej-        ddddddddddddNdjdc            Z5ddddedAdddddedKdlddZ5dS )sz
requests.api
~~~~~~~~~~~~

This module implements the Requests API.

:copyright: (c) 2012 by Kenneth Reitz.
:license: Apache2, see LICENSE for more details.
    )annotationsN   )DEFAULT_RETRIESREAD_DEFAULT_TIMEOUTWRITE_DEFAULT_TIMEOUT)AsyncBodyTypeAsyncHookTypeAsyncHttpAuthenticationTypeBodyTypeCacheLayerAltSvcTypeCookiesTypeHeadersTypeHttpAuthenticationTypeHttpMethodTypeMultiPartFilesAltTypeMultiPartFilesType	ProxyTypeQueryParameterType	RetryTypeTimeoutTypeTLSClientCertTypeTLSVerifyType)AsyncSession)AsyncResponsePreparedRequestResponse)AsyncQuicSharedCache)InMemoryRevocationStatus
ocsp_cache)defaultz7contextvars.ContextVar[InMemoryRevocationStatus] | None_SHARED_OCSP_CACHE)InMemoryRevocationList	crl_cachez5contextvars.ContextVar[InMemoryRevocationList] | None_SHARED_CRL_CACHEi 0  )max_sizer   _SHARED_QUIC_CACHE.)paramsdataheaderscookiesfilesauthtimeoutallow_redirectsproxieshooksstreamverifycertjsonretriesmethodr   urlstrr'   QueryParameterType | Noner(   BodyType | AsyncBodyType | Noner)   HeadersType | Noner*   CookiesType | Noner+   1MultiPartFilesType | MultiPartFilesAltType | Noner,   ;HttpAuthenticationType | AsyncHttpAuthenticationType | Noner-   TimeoutType | Noner.   boolr/   ProxyType | Noner0   0AsyncHookType[PreparedRequest | Response] | Noner1   typing.Literal[False] | Noner2   TLSVerifyType | Noner3   TLSClientCertType | Noner4   typing.Any | Noner5   r   returnr   c               
   K   d S N r6   r7   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   s                    b/var/www/html/mdtn/previsions/meteo_cartes/venv/lib/python3.11/site-packages/niquests/async_api.pyrequestrM   =   s      ( s    typing.Literal[True]r   c               
   K   d S rI   rJ   rK   s                    rL   rM   rM   T   s      ( CrN   Tbool | NoneResponse | AsyncResponsec               r  K   t          t          |          4 d{V }t          t                                          |_        t
          t
                                          |_        |                    | |||||||||	|
|||||           d{V cddd          d{V  S # 1 d{V swxY w Y   dS )a  Constructs and sends a :class:`Request <Request>`. This does not keep the connection alive.
    Use an :class:`AsyncSession` to reuse the connection.

    :param method: method for the new :class:`Request` object: ``GET``, ``OPTIONS``, ``HEAD``, ``POST``, ``PUT``, ``PATCH``,
        or ``DELETE``.
    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param data: (optional) Dictionary, list of tuples, bytes, or file-like
        object to send in the body of the :class:`Request`.
    :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
    :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`.
    :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`.
    :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': file-tuple}``)
        for multipart encoding upload.
        ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')``
        or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content_type'`` is a string
        defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers
        to add for the file.
    :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
    :param timeout: (optional) How many seconds to wait for the server to send data
        before giving up, as a float, or a :ref:`(connect timeout, read
        timeout) <timeouts>` tuple.
    :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection.
            Defaults to ``True``.
    :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
    :param verify: (optional) Either a boolean, in which case it controls whether we verify
            the server's TLS certificate, or a path passed as a string or os.Pathlike object,
            in which case it must be a path to a CA bundle to use.
            Defaults to ``True``.
            It is also possible to put the certificates (directly) in a string or bytes.
    :param stream: (optional) if ``False``, the response content will be immediately downloaded. Otherwise, the response will
            be of type :class:`AsyncResponse <AsyncResponse>` so that it will be awaitable.
    :param cert: (optional) if String, path to ssl client cert file (.pem).
            If Tuple, ('cert', 'key') pair, or ('cert', 'key', 'key_password').
    :param hooks: (optional) Register functions that should be called at very specific moment in the request lifecycle.
    :param retries: (optional) If integer, determine the number of retry in case of a timeout or connection error.
            Otherwise, for fine gained retry, use directly a ``Retry`` instance from urllib3.
    :return: :class:`Response <Response>` object if stream=None or False. Otherwise :class:`AsyncResponse <AsyncResponse>`

    Usage::

      >>> import niquests
      >>> req = await niquests.arequest('GET', 'https://httpbin.org/get')
      >>> req
      <Response HTTP/2 [200]>
    )quic_cache_layerr5   N)r   r&   r!   get_ocsp_cacher$   
_crl_cacherM   )r6   r7   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   sessions                     rL   rM   rM   k   sl     N -?QQQ 
 
 
 
 
 
 
U\)"4"8"8":":G(!2!6!6!8!8G__!
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   A4B&&
B03B0)r)   r*   r,   r-   r.   r/   r0   r2   r1   r3   r5   kwargs
typing.Anyc               
   K   d S rI   rJ   r7   r'   r)   r*   r,   r-   r.   r/   r0   r2   r1   r3   r5   rY   s                 rL   rU   rU            " srN   c               
   K   d S rI   rJ   r\   s                 rL   rU   rU            " CrN   c               H   K   t          d| f||||||||	|
|||d| d{V S )a	  Sends a GET request. This does not keep the connection alive. Use an :class:`AsyncSession` to reuse the connection.

    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`.
    :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`.
    :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
    :param timeout: (optional) How many seconds to wait for the server to send data
        before giving up, as a float, or a :ref:`(connect timeout, read
        timeout) <timeouts>` tuple.
    :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection.
            Defaults to ``True``.
    :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
    :param verify: (optional) Either a boolean, in which case it controls whether we verify
            the server's TLS certificate, or a path passed as a string or os.Pathlike object,
            in which case it must be a path to a CA bundle to use.
            Defaults to ``True``.
            It is also possible to put the certificates (directly) in a string or bytes.
    :param stream: (optional) if ``False``, the response content will be immediately downloaded. Otherwise, the response will
            be of type :class:`AsyncResponse <AsyncResponse>` so that it will be awaitable.
    :param cert: (optional) if String, path to ssl client cert file (.pem).
            If Tuple, ('cert', 'key') pair, or ('cert', 'key', 'key_password').
    :param hooks: (optional) Register functions that should be called at very specific moment in the request lifecycle.
    :param retries: (optional) If integer, determine the number of retry in case of a timeout or connection error.
            Otherwise, for fine gained retry, use directly a ``Retry`` instance from urllib3.
    :return: :class:`Response <Response>` object if stream=None or False. Otherwise :class:`AsyncResponse <AsyncResponse>`
    GETr'   r)   r*   r,   r-   r.   r/   r2   r1   r3   r0   r5   NrM   r\   s                 rL   rU   rU      sy      ^  '          rN   )r'   r)   r*   r,   r-   r.   r/   r0   r2   r1   r3   r5   ,typing.Literal[False] | typing.Literal[None]c               
   K   d S rI   rJ   r\   s                 rL   optionsrf   7  r]   rN   )r'   r)   r*   r,   r-   r.   r/   r0   r2   r3   r5   c               
   K   d S rI   rJ   r\   s                 rL   rf   rf   K  r_   rN   c               H   K   t          d| f||||||||	|
|||d| d{V S )a  Sends an OPTIONS request. This does not keep the connection alive. Use an :class:`AsyncSession` to reuse the connection.

    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`.
    :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`.
    :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
    :param timeout: (optional) How many seconds to wait for the server to send data
        before giving up, as a float, or a :ref:`(connect timeout, read
        timeout) <timeouts>` tuple.
    :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection.
            Defaults to ``True``.
    :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
    :param verify: (optional) Either a boolean, in which case it controls whether we verify
            the server's TLS certificate, or a path passed as a string or os.Pathlike object,
            in which case it must be a path to a CA bundle to use.
            Defaults to ``True``.
            It is also possible to put the certificates (directly) in a string or bytes.
    :param stream: (optional) if ``False``, the response content will be immediately downloaded. Otherwise, the response will
            be of type :class:`AsyncResponse <AsyncResponse>` so that it will be awaitable.
    :param cert: (optional) if String, path to ssl client cert file (.pem).
            If Tuple, ('cert', 'key') pair, or ('cert', 'key', 'key_password').
    :param hooks: (optional) Register functions that should be called at very specific moment in the request lifecycle.
    :param retries: (optional) If integer, determine the number of retry in case of a timeout or connection error.
            Otherwise, for fine gained retry, use directly a ``Retry`` instance from urllib3.

    :return: :class:`Response <Response>` object if stream=None or False. Otherwise :class:`AsyncResponse <AsyncResponse>`
    OPTIONSrb   Nrc   r\   s                 rL   rf   rf   _  sy      \  '          rN   c               
   K   d S rI   rJ   r\   s                 rL   headrk     r]   rN   c               
   K   d S rI   rJ   r\   s                 rL   rk   rk     r_   rN   Fc               H   K   t          d| f||||||||	|
|||d| d{V S )a  Sends a HEAD request. This does not keep the connection alive. Use an :class:`AsyncSession` to reuse the connection.

    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`.
    :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`.
    :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
    :param timeout: (optional) How many seconds to wait for the server to send data
        before giving up, as a float, or a :ref:`(connect timeout, read
        timeout) <timeouts>` tuple.
    :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection.
            Defaults to ``False``.
    :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
    :param verify: (optional) Either a boolean, in which case it controls whether we verify
            the server's TLS certificate, or a path passed as a string or os.Pathlike object,
            in which case it must be a path to a CA bundle to use.
            Defaults to ``True``.
            It is also possible to put the certificates (directly) in a string or bytes.
    :param stream: (optional) if ``False``, the response content will be immediately downloaded. Otherwise, the response will
            be of type :class:`AsyncResponse <AsyncResponse>` so that it will be awaitable.
    :param cert: (optional) if String, path to ssl client cert file (.pem).
            If Tuple, ('cert', 'key') pair, or ('cert', 'key', 'key_password').
    :param hooks: (optional) Register functions that should be called at very specific moment in the request lifecycle.
    :param retries: (optional) If integer, determine the number of retry in case of a timeout or connection error.
            Otherwise, for fine gained retry, use directly a ``Retry`` instance from urllib3.

    :return: :class:`Response <Response>` object if stream=None or False. Otherwise :class:`AsyncResponse <AsyncResponse>`
    HEAD)r.   r'   r)   r*   r,   r-   r/   r2   r1   r3   r0   r5   Nrc   r\   s                 rL   rk   rk     sy      \  (          rN   )r'   r)   r*   r+   r,   r-   r.   r/   r0   r2   r1   r3   r5   c               
   K   d S rI   rJ   r7   r(   r4   r'   r)   r*   r+   r,   r-   r.   r/   r0   r2   r1   r3   r5   s                   rL   postrq   	        & srN   )r'   r)   r*   r+   r,   r-   r.   r/   r0   r2   r3   r5   c               
   K   d S rI   rJ   rp   s                   rL   rq   rq           & CrN   c               J   K   t          d| f|||||||||	|
|||||d d{V S )a  Sends a POST request. This does not keep the connection alive. Use an :class:`AsyncSession` to reuse the connection.

    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param data: (optional) Dictionary, list of tuples, bytes, or (awaitable or not) file-like
        object to send in the body of the :class:`Request`.
    :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
    :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`.
    :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`.
    :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': file-tuple}``)
        for multipart encoding upload.
        ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')``
        or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content_type'`` is a string
        defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers
        to add for the file.
    :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
    :param timeout: (optional) How many seconds to wait for the server to send data
        before giving up, as a float, or a :ref:`(connect timeout, read
        timeout) <timeouts>` tuple.
    :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection.
            Defaults to ``True``.
    :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
    :param verify: (optional) Either a boolean, in which case it controls whether we verify
            the server's TLS certificate, or a path passed as a string or os.Pathlike object,
            in which case it must be a path to a CA bundle to use.
            Defaults to ``True``.
            It is also possible to put the certificates (directly) in a string or bytes.
    :param stream: (optional) if ``False``, the response content will be immediately downloaded. Otherwise, the response will
            be of type :class:`AsyncResponse <AsyncResponse>` so that it will be awaitable.
    :param cert: (optional) if String, path to ssl client cert file (.pem).
            If Tuple, ('cert', 'key') pair, or ('cert', 'key', 'key_password').
    :param hooks: (optional) Register functions that should be called at very specific moment in the request lifecycle.
    :param retries: (optional) If integer, determine the number of retry in case of a timeout or connection error.
            Otherwise, for fine gained retry, use directly a ``Retry`` instance from urllib3.

    :return: :class:`Response <Response>` object if stream=None or False. Otherwise :class:`AsyncResponse <AsyncResponse>`
    POST)r(   r4   r'   r)   r*   r+   r,   r-   r.   r/   r2   r1   r3   r0   r5   Nrc   rp   s                   rL   rq   rq   5  sx      r  '#         rN   )r4   r'   r)   r*   r+   r,   r-   r.   r/   r0   r2   r1   r3   r5   c               
   K   d S rI   rJ   rp   s                   rL   putrx     rr   rN   )r4   r'   r)   r*   r+   r,   r-   r.   r/   r0   r2   r3   r5   c               
   K   d S rI   rJ   rp   s                   rL   rx   rx     rt   rN   c               J   K   t          d| f|||||||||	|
|||||d d{V S )a  Sends a PUT request. This does not keep the connection alive. Use an :class:`AsyncSession` to reuse the connection.

    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param data: (optional) Dictionary, list of tuples, bytes, or (awaitable or not) file-like
        object to send in the body of the :class:`Request`.
    :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
    :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`.
    :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`.
    :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': file-tuple}``)
        for multipart encoding upload.
        ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')``
        or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content_type'`` is a string
        defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers
        to add for the file.
    :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
    :param timeout: (optional) How many seconds to wait for the server to send data
        before giving up, as a float, or a :ref:`(connect timeout, read
        timeout) <timeouts>` tuple.
    :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection.
            Defaults to ``True``.
    :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
    :param verify: (optional) Either a boolean, in which case it controls whether we verify
            the server's TLS certificate, or a path passed as a string or os.Pathlike object,
            in which case it must be a path to a CA bundle to use.
            Defaults to ``True``.
            It is also possible to put the certificates (directly) in a string or bytes.
    :param stream: (optional) if ``False``, the response content will be immediately downloaded. Otherwise, the response will
            be of type :class:`AsyncResponse <AsyncResponse>` so that it will be awaitable.
    :param cert: (optional) if String, path to ssl client cert file (.pem).
            If Tuple, ('cert', 'key') pair, or ('cert', 'key', 'key_password').
    :param hooks: (optional) Register functions that should be called at very specific moment in the request lifecycle.
    :param retries: (optional) If integer, determine the number of retry in case of a timeout or connection error.
            Otherwise, for fine gained retry, use directly a ``Retry`` instance from urllib3.

    :return: :class:`Response <Response>` object if stream=None or False. Otherwise :class:`AsyncResponse <AsyncResponse>`
    PUTr(   r'   r4   r)   r*   r+   r,   r-   r.   r/   r2   r1   r3   r0   r5   Nrc   rp   s                   rL   rx   rx     sx      r  '#         rN   c               
   K   d S rI   rJ   rp   s                   rL   patchr~     rr   rN   c               
   K   d S rI   rJ   rp   s                   rL   r~   r~     rt   rN   c               J   K   t          d| f|||||||||	|
|||||d d{V S )a  Sends a PATCH request. This does not keep the connection alive. Use an :class:`AsyncSession` to reuse the connection.

    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param data: (optional) Dictionary, list of tuples, bytes, or (awaitable or not) file-like
        object to send in the body of the :class:`Request`.
    :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
    :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`.
    :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`.
    :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': file-tuple}``)
        for multipart encoding upload.
        ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')``
        or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content_type'`` is a string
        defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers
        to add for the file.
    :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
    :param timeout: (optional) How many seconds to wait for the server to send data
        before giving up, as a float, or a :ref:`(connect timeout, read
        timeout) <timeouts>` tuple.
    :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection.
            Defaults to ``True``.
    :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
    :param verify: (optional) Either a boolean, in which case it controls whether we verify
            the server's TLS certificate, or a path passed as a string or os.Pathlike object,
            in which case it must be a path to a CA bundle to use.
            Defaults to ``True``.
            It is also possible to put the certificates (directly) in a string or bytes.
    :param stream: (optional) if ``False``, the response content will be immediately downloaded. Otherwise, the response will
            be of type :class:`AsyncResponse <AsyncResponse>` so that it will be awaitable.
    :param cert: (optional) if String, path to ssl client cert file (.pem).
            If Tuple, ('cert', 'key') pair, or ('cert', 'key', 'key_password').
    :param hooks: (optional) Register functions that should be called at very specific moment in the request lifecycle.
    :param retries: (optional) If integer, determine the number of retry in case of a timeout or connection error.
            Otherwise, for fine gained retry, use directly a ``Retry`` instance from urllib3.

    :return: :class:`Response <Response>` object if stream=None or False. Otherwise :class:`AsyncResponse <AsyncResponse>`
    PATCHr|   Nrc   rp   s                   rL   r~   r~   )  sx      r  '#         rN   c               
   K   d S rI   rJ   r\   s                 rL   deleter   w  r]   rN   c               
   K   d S rI   rJ   r\   s                 rL   r   r     r_   rN   c               H   K   t          d| f||||||||	|
|||d| d{V S )a  Sends a DELETE request. This does not keep the connection alive. Use an :class:`AsyncSession` to reuse the connection.

    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`.
    :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`.
    :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
    :param timeout: (optional) How many seconds to wait for the server to send data
        before giving up, as a float, or a :ref:`(connect timeout, read
        timeout) <timeouts>` tuple.
    :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection.
            Defaults to ``True``.
    :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
    :param verify: (optional) Either a boolean, in which case it controls whether we verify
            the server's TLS certificate, or a path passed as a string or os.Pathlike object,
            in which case it must be a path to a CA bundle to use.
            Defaults to ``True``.
            It is also possible to put the certificates (directly) in a string or bytes.
    :param stream: (optional) if ``False``, the response content will be immediately downloaded. Otherwise, the response will
            be of type :class:`AsyncResponse <AsyncResponse>` so that it will be awaitable.
    :param cert: (optional) if String, path to ssl client cert file (.pem).
            If Tuple, ('cert', 'key') pair, or ('cert', 'key', 'key_password').
    :param hooks: (optional) Register functions that should be called at very specific moment in the request lifecycle.
    :param retries: (optional) If integer, determine the number of retry in case of a timeout or connection error.
            Otherwise, for fine gained retry, use directly a ``Retry`` instance from urllib3.

    :return: :class:`Response <Response>` object if stream=None or False. Otherwise :class:`AsyncResponse <AsyncResponse>`
    DELETErb   Nrc   r\   s                 rL   r   r     sy      \  '          rN   )$r6   r   r7   r8   r'   r9   r(   r:   r)   r;   r*   r<   r+   r=   r,   r>   r-   r?   r.   r@   r/   rA   r0   rB   r1   rC   r2   rD   r3   rE   r4   rF   r5   r   rG   r   )$r6   r   r7   r8   r'   r9   r(   r:   r)   r;   r*   r<   r+   r=   r,   r>   r-   r?   r.   r@   r/   rA   r0   rB   r1   rO   r2   rD   r3   rE   r4   rF   r5   r   rG   r   )$r6   r   r7   r8   r'   r9   r(   r:   r)   r;   r*   r<   r+   r=   r,   r>   r-   r?   r.   r@   r/   rA   r0   rB   r1   rQ   r2   rD   r3   rE   r4   rF   r5   r   rG   rR   ).)r7   r8   r'   r9   r)   r;   r*   r<   r,   r>   r-   r?   r.   r@   r/   rA   r0   rB   r2   rD   r1   rC   r3   rE   r5   r   rY   rZ   rG   r   )r7   r8   r'   r9   r)   r;   r*   r<   r,   r>   r-   r?   r.   r@   r/   rA   r0   rB   r2   rD   r1   rO   r3   rE   r5   r   rY   rZ   rG   r   rI   )r7   r8   r'   r9   r)   r;   r*   r<   r,   r>   r-   r?   r.   r@   r/   rA   r0   rB   r2   rD   r1   rQ   r3   rE   r5   r   rY   rZ   rG   rR   )r7   r8   r'   r9   r)   r;   r*   r<   r,   r>   r-   r?   r.   r@   r/   rA   r0   rB   r2   rD   r1   rd   r3   rE   r5   r   rY   rZ   rG   r   )..)"r7   r8   r(   r:   r4   rF   r'   r9   r)   r;   r*   r<   r+   r=   r,   r>   r-   r?   r.   r@   r/   rA   r0   rB   r2   rD   r1   rd   r3   rE   r5   r   rG   r   )"r7   r8   r(   r:   r4   rF   r'   r9   r)   r;   r*   r<   r+   r=   r,   r>   r-   r?   r.   r@   r/   rA   r0   rB   r2   rD   r1   rO   r3   rE   r5   r   rG   r   )NN)"r7   r8   r(   r:   r4   rF   r'   r9   r)   r;   r*   r<   r+   r=   r,   r>   r-   r?   r.   r@   r/   rA   r0   rB   r2   rD   r1   rQ   r3   rE   r5   r   rG   rR   )6__doc__
__future__r   contextvarstyping	_constantr   r   r   _typingr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   async_sessionr   modelsr   r   r   
structuresr   "extensions.revocation._ocsp._asyncr   
ContextVarr!   __annotations__ImportError!extensions.revocation._crl._asyncr"   r$   r&   overloadrM   rU   rf   rk   rq   rx   r~   r   rJ   rN   rL   <module>r      s
     # " " " " "      S S S S S S S S S S                                     & ( ' ' ' ' ' < < < < < < < < < < , , , , , ,LLLLLLRhR]Rh6688S S S         IIIIIIOe{Oe3355P P P          ,@+?+P+P+P  P P P P 
 ),,/"%"%?BHK"% #>A+.#&%(!%     , 
 ),,/"%"%?BHK"% #>A#&#&%(!%     4 )-,0"&"&?CHL"7  $>B#'%)"(%_
 _
 _
 _
 _
 _
D  ), #&"%HK"% #>A#&+.%(     &  ), #&"%HK"% #>A#&#&%(     * )-? #'"&HL"6  $>B#'%)(? ? ? ? ? ?D  ),"%"%HK"% #>A#&;>%(     &  ),"%"%HK"% #>A#&%(     , )-"&"&HL"6  $>B#'%)(> > > > > >B  ),"%"%HK"% #>A#&;>%(     &  ),"%"%HK"% #>A#&%(     , )-"&"&HL"6! $>B#'%)(> > > > > >B  -0!
 ),"%"%?BHK"% #>A#&;>%(#     *  -0!
 ),"%"%?BHK"% #>A#&%(#     . -1"K
 )-"&"&?CHL"7  $>B#'%)(#K K K K K K\  -0 "(+"%"%?BHK"% #>A#&;>%(#     *  -0 "(+"%"%?BHK"% #>A#&%(#     . -1K #(,"&"&?CHL"7  $>B#'%)(#K K K K K K\  -0 "(+"%"%?BHK"% #>A#&;>%(#     *  -0 "(+"%"%?BHK"% #>A#&%(#     . -1K #(,"&"&?CHL"7  $>B#'%)(#K K K K K K\  ),"%"%HK"% #>A#&;>%(     &  ),"%"%HK"% #>A#&%(     , )-"&"&HL"7  $>B#'%)(> > > > > > > >s$   %A? ?B	B	%B3 3B=<B=