o
    h-                     @  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 dd	lmZ ejrEd dlZg d
ZdddddddddedddddCd-d.ZedddddddddedddddDd0d1Zdddddddedd2	dEd3d4Zdddddddedd2	dEd5d6Zdddddddedd2	dEd7d8Zdddddddddddedd9dFd:d;Zdddddddddddedd9dFd<d=Z dddddddddddedd9dFd>d?Z!ddddddeddd@	dGdAdBZ"dS )H    )annotationsN)contextmanager   )Client)DEFAULT_TIMEOUT_CONFIG)Response)		AuthTypesCookieTypesHeaderTypes
ProxyTypesQueryParamTypesRequestContentRequestDataRequestFilesTimeoutTypes)URL)	deletegetheadoptionspatchpostputrequeststreamFT)paramscontentdatafilesjsonheaderscookiesauthproxytimeoutfollow_redirectsverify	trust_envmethodstrurl	URL | strr   QueryParamTypes | Noner   RequestContent | Noner   RequestData | Noner   RequestFiles | Noner   typing.Any | Noner    HeaderTypes | Noner!   CookieTypes | Noner"   AuthTypes | Noner#   ProxyTypes | Noner$   r   r%   boolr&   ssl.SSLContext | str | boolr'   returnr   c                C  sT   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.
    * **timeout** - *(optional)* The timeout configuration to use when sending
    the request.
    * **follow_redirects** - *(optional)* Enables or disables HTTP redirects.
    * **verify** - *(optional)* Either `True` to use an SSL context with the
    default CA bundle, `False` to disable verification, or an instance of
    `ssl.SSLContext` to use a custom context.
    * **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%   N)r   r   )r(   r*   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   client r;   ^/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/httpx/_api.pyr   '   s*   ?$r   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 s@w   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
    r8   r9   N)r   r   )r(   r*   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r:   responser;   r;   r<   r   {   s6   "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?   r   
r*   r   r    r!   r"   r#   r%   r&   r$   r'   r;   r;   r<   r         r   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?   rB   rC   r;   r;   r<   r      rD   r   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?   rB   rC   r;   r;   r<   r      rD   r   r   r   r   r   r   r    r!   r"   r#   r%   r&   r$   r'   c                C  &   t d| |||||||||	|
|||dS )zK
    Sends a `POST` request.

    **Parameters**: See `httpx.request`.
    POSTrG   rB   r*   r   r   r   r   r   r    r!   r"   r#   r%   r&   r$   r'   r;   r;   r<   r     "   r   c                C  rH   )zJ
    Sends a `PUT` request.

    **Parameters**: See `httpx.request`.
    PUTrG   rB   rJ   r;   r;   r<   r   C  rK   r   c                C  rH   )zL
    Sends a `PATCH` request.

    **Parameters**: See `httpx.request`.
    PATCHrG   rB   rJ   r;   r;   r<   r   l  rK   r   )	r   r    r!   r"   r#   r%   r$   r&   r'   c       	   
      C  s   t d| |||||||||	dS )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?   rB   )
r*   r   r    r!   r"   r#   r%   r$   r&   r'   r;   r;   r<   r     rD   r   ) r(   r)   r*   r+   r   r,   r   r-   r   r.   r   r/   r   r0   r    r1   r!   r2   r"   r3   r#   r4   r$   r   r%   r5   r&   r6   r'   r5   r7   r   ) r(   r)   r*   r+   r   r,   r   r-   r   r.   r   r/   r   r0   r    r1   r!   r2   r"   r3   r#   r4   r$   r   r%   r5   r&   r6   r'   r5   r7   r=   )r*   r+   r   r,   r    r1   r!   r2   r"   r3   r#   r4   r%   r5   r&   r6   r$   r   r'   r5   r7   r   )r*   r+   r   r-   r   r.   r   r/   r   r0   r   r,   r    r1   r!   r2   r"   r3   r#   r4   r%   r5   r&   r6   r$   r   r'   r5   r7   r   )r*   r+   r   r,   r    r1   r!   r2   r"   r3   r#   r4   r%   r5   r$   r   r&   r6   r'   r5   r7   r   )#
__future__r   typing
contextlibr   _clientr   _configr   _modelsr   _typesr   r	   r
   r   r   r   r   r   r   _urlsr   TYPE_CHECKINGssl__all__r   r   r   r   r   r   r   r   r   r;   r;   r;   r<   <module>   s    ,T5''',,,