@@ -70,7 +70,7 @@ class Gitlab(object):
7070 api_version (str): Gitlab API version to use (3 or 4)
7171 """
7272
73- def __init__ (self , url , private_token = None , email = None , password = None ,
73+ def __init__ (self , url , private_token = None , oauth_token = None , email = None , password = None ,
7474 ssl_verify = True , http_username = None , http_password = None ,
7575 timeout = None , api_version = '3' , session = None ):
7676
@@ -81,7 +81,8 @@ def __init__(self, url, private_token=None, email=None, password=None,
8181 self .timeout = timeout
8282 #: Headers that will be used in request to GitLab
8383 self .headers = {}
84- self ._set_token (private_token )
84+ self ._set_token (private_token , oauth_token )
85+
8586 #: The user email
8687 self .email = email
8788 #: The user password (associated with email)
@@ -289,12 +290,18 @@ def set_token(self, token):
289290 DeprecationWarning )
290291 self ._set_token (token )
291292
292- def _set_token (self , token ):
293- self .private_token = token if token else None
294- if token :
295- self .headers ["PRIVATE-TOKEN" ] = token
296- elif "PRIVATE-TOKEN" in self .headers :
297- del self .headers ["PRIVATE-TOKEN" ]
293+ def _set_token (self , private_token , oauth_token = None ):
294+ self .private_token = private_token if private_token else None
295+ self .oauth_token = oauth_token if oauth_token else None
296+
297+ if private_token :
298+ self .headers ["PRIVATE-TOKEN" ] = private_token
299+ if 'Authorization' in self .headers :
300+ del self .headers ["Authorization" ]
301+ elif oauth_token :
302+ self .headers ['Authorization' ] = "Bearer %s" % oauth_token
303+ if "PRIVATE-TOKEN" in self .headers :
304+ del self .headers ["PRIVATE-TOKEN" ]
298305
299306 def set_credentials (self , email , password ):
300307 """Sets the email/login and password for authentication.
0 commit comments