
                         N    d dl mZ d dlmZmZ d dlmZ d dlmZ  G d de      Zy)    )unicode_literals)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         0lib/third_party/requests_oauthlib/oauth2_auth.py__init__zOAuth2.__init__
   sD     I1)5IDL++-$!Q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^     quu%"$$#||55	188!&&!))  6  EAE19afHr   )NNN)__name__
__module____qualname____doc__r   r    r   r   r	   r	      s    B$r   r	   N)	
__future__r   oauthlib.oauth2r   r   r   requests.authr   r	   r$   r   r   <module>r(      s    ' H / "X r   