@@ -70,9 +70,10 @@ 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 ,
74
- ssl_verify = True , http_username = None , http_password = None ,
75
- timeout = None , api_version = '3' , session = None ):
73
+ def __init__ (self , url , private_token = None , oauth_token = None , email = None ,
74
+ password = None , ssl_verify = True , http_username = None ,
75
+ http_password = None , timeout = None , api_version = '3' ,
76
+ session = None ):
76
77
77
78
self ._api_version = str (api_version )
78
79
self ._server_version = self ._server_revision = None
@@ -81,7 +82,8 @@ def __init__(self, url, private_token=None, email=None, password=None,
81
82
self .timeout = timeout
82
83
#: Headers that will be used in request to GitLab
83
84
self .headers = {}
84
- self ._set_token (private_token )
85
+ self ._set_token (private_token , oauth_token )
86
+
85
87
#: The user email
86
88
self .email = email
87
89
#: The user password (associated with email)
@@ -300,12 +302,18 @@ def set_token(self, token):
300
302
DeprecationWarning )
301
303
self ._set_token (token )
302
304
303
- def _set_token (self , token ):
304
- self .private_token = token if token else None
305
- if token :
306
- self .headers ["PRIVATE-TOKEN" ] = token
307
- elif "PRIVATE-TOKEN" in self .headers :
308
- del self .headers ["PRIVATE-TOKEN" ]
305
+ def _set_token (self , private_token , oauth_token = None ):
306
+ self .private_token = private_token if private_token else None
307
+ self .oauth_token = oauth_token if oauth_token else None
308
+
309
+ if private_token :
310
+ self .headers ["PRIVATE-TOKEN" ] = private_token
311
+ if 'Authorization' in self .headers :
312
+ del self .headers ["Authorization" ]
313
+ elif oauth_token :
314
+ self .headers ['Authorization' ] = "Bearer %s" % oauth_token
315
+ if "PRIVATE-TOKEN" in self .headers :
316
+ del self .headers ["PRIVATE-TOKEN" ]
309
317
310
318
def set_credentials (self , email , password ):
311
319
"""Sets the email/login and password for authentication.
0 commit comments