
    9i                     :    d Z  G d de      Z G d de      Zd Zy)zThis module documents the minimal http behaviors used by this package.

Its interface is influenced by, and similar to a subset of some popular,
real-world http libraries, such as requests, aiohttp and httpx.
c                        e Zd ZdZddZddZy)
HttpClientzEThis describes a minimal http request interface used by this package.Nc                     t               S )a  HTTP post.

        :param dict params: A dict to be url-encoded and sent as query-string.
        :param dict headers: A dict representing headers to be sent via request.
        :param data:
            Implementation needs to support 2 types.

            * A dict, which will need to be urlencode() before being sent.
            * (Recommended) A string, which will be sent in request as-is.

        It returns an :class:`~Response`-like object.

        Note: In its async counterpart, this method would be defined as async.
        Response)selfurlparamsdataheaderskwargss         F/var/www/html/venv/lib/python3.12/site-packages/msal/oauth2cli/http.pypostzHttpClient.post   s     z    c                     t               S )a:  HTTP get.

        :param dict params: A dict to be url-encoded and sent as query-string.
        :param dict headers: A dict representing headers to be sent via request.

        It returns an :class:`~Response`-like object.

        Note: In its async counterpart, this method would be defined as async.
        r   )r   r   r	   r   r   s        r   getzHttpClient.get   s     zr   )NNN)NN)__name__
__module____qualname____doc__r   r    r   r   r   r      s    O"
r   r   c                   "    e Zd ZdZdZdZi Zd Zy)r   ai  This describes a minimal http response interface used by this package.

    :var int status_code:
        The status code of this http response.

        Our async code path would also accept an alias as "status".

    :var string text:
        The body of this http response.

        Our async code path would also accept an awaitable with the same name.
       zbody as a stringc                     t        d      )z;Raise an exception when http response status contains errorz'Your implementation should provide this)NotImplementedError)r   s    r   raise_for_statuszResponse.raise_for_statusB   s    !"KLLr   N)r   r   r   r   status_codetextr   r   r   r   r   r   r   )   s      KD
 G
Mr   r   c                 8    t        | dd       xs | j                  S )Nr   )getattrstatus)resps    r   _get_status_coder"   G   s    4-<<r   N)r   objectr   r   r"   r   r   r   <module>r$      s*    BMv M<=r   