
    tc2              %       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 dddddddddedd	dd	d
dedede j        e         de j        e         de j        e         de j        e         de j        e j                 de j        e         de j        e         de j        e
         de j        e         dededede j        e         dedef"dZedddddddddedd	dd	d
dedede j        e         de j        e         de j        e         de j        e         de j        e j                 de j        e         de j        e         de j        e
         de j        e         dededede j        e         dede j        e         f"d            Zdddddddd	ed	d
dede j        e         de j        e         de j        e         de j        e
         de j        e         dede j        e         dedededefdZdddddddd	ed	d
dede j        e         de j        e         de j        e         de j        e
         de j        e         dede j        e         dedededefd Zdddddddd	ed	d
dede j        e         de j        e         de j        e         de j        e
         de j        e         dede j        e         dedededefd!Zdddddddddddd	ed	d"dede j        e         de j        e         de j        e         de j        e j                 de j        e         de j        e         de j        e         de j        e
         de j        e         dede j        e         dedededef d#Z dddddddddddd	ed	d"dede j        e         de j        e         de j        e         de j        e j                 de j        e         de j        e         de j        e         de j        e
         de j        e         dede j        e         dedededef d$Z!dddddddddddd	ed	d"dede j        e         de j        e         de j        e         de j        e j                 de j        e         de j        e         de j        e         de j        e
         de j        e         dede j        e         dedededef d%Z"dddddddd	ed	d
dede j        e         de j        e         de j        e         de j        e
         de j        e         dede j        e         dedededefd&Z#dS )'    N)contextmanager   )Client)DEFAULT_TIMEOUT_CONFIG)Response)	AuthTypes	CertTypesCookieTypesHeaderTypesProxiesTypesQueryParamTypesRequestContentRequestDataRequestFilesTimeoutTypesURLTypesVerifyTypesFT)paramscontentdatafilesjsonheaderscookiesauthproxiestimeoutfollow_redirectsverifycert	trust_envmethodurlr   r   r   r   r   r   r   r   r   r   r   r   r    r!   returnc                    t          ||
||||          5 }|                    | ||||||||	|
  
        cddd           S # 1 swxY w Y   dS )aV  
    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.
    * **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   N)r   request)r"   r#   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   clients                    ,/usr/lib/python3/dist-packages/httpx/_api.pyr(   r(      s    J 

 
 
 
 
~~-  
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   AA	Ac             #      K   t          ||
||||          5 }|                    | ||||||||	|
  
        5 }|V  ddd           n# 1 swxY w Y   ddd           dS # 1 swxY 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
    r&   r'   N)r   stream)r"   r#   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r)   responses                     r*   r,   r,   r   s(     < 

 
 
  
]]-  
 
 	 NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 s3    A!A	A!	A	A!A	A!!A%(A%
r   r   r   r   r   r   r    r   r   r!   c       
         8    t          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!   s              r*   getr3      s?    , )       c       
         8    t          d| |||||||||	|
          S )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.   r1   r2   s              r*   optionsr7      s?    , )   r4   c       
         8    t          d| |||||||||	|
          S )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.   r1   r2   s              r*   headr:      s?    , )   r4   r   r   r   r   r   r   r   r   r   r   r    r   r   r!   c                @    t          d| |||||||||	|
||||          S )zK
    Sends a `POST` request.

    **Parameters**: See `httpx.request`.
    POSTr;   r1   r#   r   r   r   r   r   r   r   r   r   r   r    r   r   r!   s                  r*   postr?     sK    . )!   r4   c                @    t          d| |||||||||	|
||||          S )zJ
    Sends a `PUT` request.

    **Parameters**: See `httpx.request`.
    PUTr;   r1   r>   s                  r*   putrB   D  sK    . )!   r4   c                @    t          d| |||||||||	|
||||          S )zL
    Sends a `PATCH` request.

    **Parameters**: See `httpx.request`.
    PATCHr;   r1   r>   s                  r*   patchrE   o  sK    . )!   r4   c       
         8    t          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.   r1   r2   s              r*   deleterH     s?    , )   r4   )$typing
contextlibr   _clientr   _configr   _modelsr   _typesr   r	   r
   r   r   r   r   r   r   r   r   r   strOptionalAnyboolr(   Iteratorr,   r3   r7   r:   r?   rB   rE   rH    r4   r*   <module>rU      s
    % % % % % %       + + + + + +                                 ( 04/3)-+/(,,0,0'+-12"'+#X
 X
 X
X
	X
 OO,	X

 _^,X
 /+
&X
 ?<(X
 /&*
%X
 _[)X
 _[)X
 /)
$X
 _\*X
 X
 X
 X
  /)
$!X
" #X
$ %X
 X
 X
 X
v 
 04/3)-+/(,,0,0'+-12"'+#1 1 11	1 OO,	1
 _^,1 /+
&1 ?<(1 /&*
%1 _[)1 _[)1 /)
$1 _\*1 1 1 1  /)
$!1" #1$ _X%1 1 1 1n 04,0,0'+-1"'+2# # #	# OO,# _[)	#
 _[)# /)
$# _\*# # /)
$# # # # # # # #R 04,0,0'+-1"'+2# # #	# OO,# _[)	#
 _[)# /)
$# _\*# # /)
$# # # # # # # #R 04,0,0'+-1"'+2# # #	# OO,# _[)	#
 _[)# /)
$# _\*# # /)
$# # # # # # # #R 04)-+/(,/3,0,0'+-1"'+2!( ( (	( _^,( /+
&	(
 ?<(( /&*
%( OO,( _[)( _[)( /)
$( _\*( ( /)
$( ( (  !(" #( ( ( (\ 04)-+/(,/3,0,0'+-1"'+2!( ( (	( _^,( /+
&	(
 ?<(( /&*
%( OO,( _[)( _[)( /)
$( _\*( ( /)
$( ( (  !(" #( ( ( (\ 04)-+/(,/3,0,0'+-1"'+2!( ( (	( _^,( /+
&	(
 ?<(( /&*
%( OO,( _[)( _[)( /)
$( _\*( ( /)
$( ( (  !(" #( ( ( (\ 04,0,0'+-1"'+2# # #	# OO,# _[)	#
 _[)# /)
$# _\*# # /)
$# # # # # # # # # #r4   