o
    )if2                     @  s  d dl m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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dddddddded	d
dd
ddDd/d0Zedddddddddded	d
dd
ddEd2d3Zddddddd	dd
ed
d4dFd5d6Zddddddd	dd
ed
d4dFd7d8Zddddddd	dd
ed
d4dFd9d:Zddddddddddd	dd
ed
d;dGd<d=Zddddddddddd	dd
ed
d;dGd>d?Zddddddddddd	dd
ed
d;dGd@dAZ ddddddd	dd
ed
d4dFdBdCZ!dS )H    )annotationsN)contextmanager   )Client)DEFAULT_TIMEOUT_CONFIG)Response)	AuthTypes	CertTypesCookieTypesHeaderTypesProxiesTypes
ProxyTypesQueryParamTypesRequestContentRequestDataRequestFilesTimeoutTypesURLTypesVerifyTypesFT)paramscontentdatafilesjsonheaderscookiesauthproxyproxiestimeoutfollow_redirectsverifycert	trust_envmethodstrurlr   r   QueryParamTypes | Noner   RequestContent | Noner   RequestData | Noner   RequestFiles | Noner   typing.Any | Noner   HeaderTypes | Noner   CookieTypes | Noner   AuthTypes | Noner   ProxyTypes | Noner   ProxiesTypes | Noner   r   r    boolr!   r   r"   CertTypes | Noner#   returnr   c                C  sX   t ||
|||||d}|j| ||||||||	|d
W  d   S 1 s%w   Y  dS )a  
    Sends an HTTP request.

    **Parameters:**

    * **method** - HTTP method for the new `Request` object: `GET`, `OPTIONS`,
    `HEAD`, `POST`, `PUT`, `PATCH`, or `DELETE`.
    * **url** - URL for the new `Request` object.
    * **params** - *(optional)* Query parameters to include in the URL, as a
    string, dictionary, or sequence of two-tuples.
    * **content** - *(optional)* Binary content to include in the body of the
    request, as bytes or a byte iterator.
    * **data** - *(optional)* Form data to include in the body of the request,
    as a dictionary.
    * **files** - *(optional)* A dictionary of upload files to include in the
    body of the request.
    * **json** - *(optional)* A JSON serializable object to include in the body
    of the request.
    * **headers** - *(optional)* Dictionary of HTTP headers to include in the
    request.
    * **cookies** - *(optional)* Dictionary of Cookie items to include in the
    request.
    * **auth** - *(optional)* An authentication class to use when sending the
    request.
    * **proxy** - *(optional)* A proxy URL where all the traffic should be routed.
    * **proxies** - *(optional)* A dictionary mapping proxy keys to proxy URLs.
    * **timeout** - *(optional)* The timeout configuration to use when sending
    the request.
    * **follow_redirects** - *(optional)* Enables or disables HTTP redirects.
    * **verify** - *(optional)* SSL certificates (a.k.a CA bundle) used to
    verify the identity of requested hosts. Either `True` (default CA bundle),
    a path to an SSL certificate file, an `ssl.SSLContext`, or `False`
    (which will disable verification).
    * **cert** - *(optional)* An SSL certificate used by the requested host
    to authenticate the client. Either a path to an SSL certificate file, or
    two-tuple of (certificate file, key file), or a three-tuple of (certificate
    file, key file, password).
    * **trust_env** - *(optional)* Enables or disables usage of environment
    variables for configuration.

    **Returns:** `Response`

    Usage:

    ```
    >>> import httpx
    >>> response = httpx.request('GET', 'https://httpbin.org/get')
    >>> response
    <Response [200 OK]>
    ```
    r   r   r   r"   r!   r   r#   
r$   r&   r   r   r   r   r   r   r   r    N)r   request)r$   r&   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   client r8   C/var/www/html/corbot_env/lib/python3.10/site-packages/httpx/_api.pyr6      s.   G$r6   typing.Iterator[Response]c                c  s    t ||
|||||d3}|j| ||||||||	|d
}|V  W d   n1 s*w   Y  W d   dS W d   dS 1 sBw   Y  dS )z
    Alternative to `httpx.request()` that streams the response body
    instead of loading it into memory at once.

    **Parameters**: See `httpx.request`.

    See also: [Streaming Responses][0]

    [0]: /quickstart#streaming-responses
    r4   r5   N)r   stream)r$   r&   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r7   responser8   r8   r9   r;   x   s:   	"r;   r   r   r   r   r   r   r    r"   r!   r   r#   c                C  "   t d| |||||||||	|
|dS )z
    Sends a `GET` request.

    **Parameters**: See `httpx.request`.

    Note that the `data`, `files`, `json` and `content` parameters are not available
    on this function, as `GET` requests should not include a request body.
    GETr=   r6   r&   r   r   r   r   r   r   r    r"   r!   r   r#   r8   r8   r9   get      rB   c                C  r>   )z
    Sends an `OPTIONS` request.

    **Parameters**: See `httpx.request`.

    Note that the `data`, `files`, `json` and `content` parameters are not available
    on this function, as `OPTIONS` requests should not include a request body.
    OPTIONSr=   r@   rA   r8   r8   r9   options   rC   rE   c                C  r>   )z
    Sends a `HEAD` request.

    **Parameters**: See `httpx.request`.

    Note that the `data`, `files`, `json` and `content` parameters are not available
    on this function, as `HEAD` requests should not include a request body.
    HEADr=   r@   rA   r8   r8   r9   head   rC   rG   r   r   r   r   r   r   r   r   r   r   r    r"   r!   r   r#   c                C  .   t d| f|||||||||	|
|||||dS )zK
    Sends a `POST` request.

    **Parameters**: See `httpx.request`.
    POSTrH   r@   r&   r   r   r   r   r   r   r   r   r   r   r    r"   r!   r   r#   r8   r8   r9   post'  (   rL   c                C  rI   )zJ
    Sends a `PUT` request.

    **Parameters**: See `httpx.request`.
    PUTrH   r@   rK   r8   r8   r9   putT  rM   rO   c                C  rI   )zL
    Sends a `PATCH` request.

    **Parameters**: See `httpx.request`.
    PATCHrH   r@   rK   r8   r8   r9   patch  rM   rQ   c                C  r>   )z
    Sends a `DELETE` request.

    **Parameters**: See `httpx.request`.

    Note that the `data`, `files`, `json` and `content` parameters are not available
    on this function, as `DELETE` requests should not include a request body.
    DELETEr=   r@   rA   r8   r8   r9   delete  rC   rS   )$r$   r%   r&   r   r   r'   r   r(   r   r)   r   r*   r   r+   r   r,   r   r-   r   r.   r   r/   r   r0   r   r   r    r1   r!   r   r"   r2   r#   r1   r3   r   )$r$   r%   r&   r   r   r'   r   r(   r   r)   r   r*   r   r+   r   r,   r   r-   r   r.   r   r/   r   r0   r   r   r    r1   r!   r   r"   r2   r#   r1   r3   r:   )r&   r   r   r'   r   r,   r   r-   r   r.   r   r/   r   r0   r    r1   r"   r2   r!   r   r   r   r#   r1   r3   r   )"r&   r   r   r(   r   r)   r   r*   r   r+   r   r'   r   r,   r   r-   r   r.   r   r/   r   r0   r    r1   r"   r2   r!   r   r   r   r#   r1   r3   r   )"
__future__r   typing
contextlibr   _clientr   _configr   _modelsr   _typesr   r	   r
   r   r   r   r   r   r   r   r   r   r   r6   r;   rB   rE   rG   rL   rO   rQ   rS   r8   r8   r8   r9   <module>   s   <^9+++000