@@ -70,7 +70,7 @@ class Gitlab(object):
70
70
api_version (str): Gitlab API version to use (3 or 4)
71
71
"""
72
72
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 ,
74
74
ssl_verify = True , http_username = None , http_password = None ,
75
75
timeout = None , api_version = '3' , session = None ):
76
76
@@ -81,7 +81,8 @@ def __init__(self, url, private_token=None, email=None, password=None,
81
81
self .timeout = timeout
82
82
#: Headers that will be used in request to GitLab
83
83
self .headers = {}
84
- self ._set_token (private_token )
84
+ self ._set_token (private_token , oauth_token )
85
+
85
86
#: The user email
86
87
self .email = email
87
88
#: The user password (associated with email)
@@ -289,12 +290,18 @@ def set_token(self, token):
289
290
DeprecationWarning )
290
291
self ._set_token (token )
291
292
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" ]
298
305
299
306
def set_credentials (self , email , password ):
300
307
"""Sets the email/login and password for authentication.
0 commit comments