
    g                     B    d dl mZmZ d dl mZ d dlmZ  G d de      Zy)    )WebApplicationClientInsecureTransportError)is_secure_transport)AuthBasec                       e Zd ZdZddZd Zy)OAuth2z:Adds proof of authorization (OAuth2 token) to the request.Nc                     |xs t        ||      | _        |r0|j                         D ]  \  }}t        | j                  ||        yy)a  Construct a new OAuth 2 authorization object.

        :param client_id: Client id obtained during registration
        :param client: :class:`oauthlib.oauth2.Client` to be used. Default is
                       WebApplicationClient which is useful for any
                       hosted application but not mobile or desktop.
        :param token: Token dictionary, must include access_token
                      and token_type.
        )tokenN)r   _clientitemssetattr)self	client_idclientr
   kvs         R/var/www/openai/venv/lib/python3.12/site-packages/requests_oauthlib/oauth2_auth.py__init__zOAuth2.__init__	   sD     M!5iu!M1a+ &     c                     t        |j                        s
t               | j                  j	                  |j                  |j
                  |j                  |j                        \  |_        |_        |_        |S )a  Append an OAuth 2 token to the request.

        Note that currently HTTPS is required for all requests. There may be
        a token type that allows for plain HTTP in the future and then this
        should be updated to allow plain HTTP on a white list basis.
        )http_methodbodyheaders)r   urlr   r   	add_tokenmethodr   r   )r   rs     r   __call__zOAuth2.__call__   s_     #155)(**#'<<#9#9EEqxxaffaii $: $
 qy!& r   )NNN)__name__
__module____qualname____doc__r   r    r   r   r   r      s    D,r   r   N)oauthlib.oauth2r   r   r   requests.authr   r   r#   r   r   <module>r&      s    H / "X r   