Skip to content

Commit d39c471

Browse files
committed
Use PRIVATE-TOKEN header for passing the auth token
1 parent 05ab473 commit d39c471

File tree

1 file changed

+28
-27
lines changed

1 file changed

+28
-27
lines changed

gitlab.py

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,11 @@ def setCredentials(self, email, password):
135135

136136
def rawGet(self, path, with_token=False):
137137
url = '%s%s' % (self._url, path)
138-
if with_token:
139-
url += "?private_token=%s" % self.private_token
140-
141138
try:
142-
r = requests.get(url)
139+
if with_token:
140+
r = requests.get(url, headers={"PRIVATE-TOKEN": self.private_token})
141+
else:
142+
r = requests.get(url)
143143
except:
144144
raise GitlabConnectionError(
145145
"Can't connect to GitLab server (%s)" % self._url)
@@ -158,11 +158,12 @@ def rawPost(self, path, data):
158158

159159
def rawPut(self, path, with_token=False):
160160
url = '%s%s' % (self._url, path)
161-
if with_token:
162-
url += "?private_token=%s" % self.private_token
163161

164162
try:
165-
r = requests.put(url)
163+
if with_token:
164+
r = requests.put(url, headers={"PRIVATE-TOKEN": self.private_token})
165+
else:
166+
r = requests.put(url)
166167
except:
167168
raise GitlabConnectionError(
168169
"Can't connect to GitLab server (%s)" % self._url)
@@ -181,13 +182,13 @@ def list(self, obj_class, **kwargs):
181182
url = obj_class._url
182183
if kwargs:
183184
url = obj_class._url % kwargs
184-
url = '%s%s?private_token=%s' % (self._url, url, self.private_token)
185+
url = '%s%s' % (self._url, url)
185186
if kwargs:
186187
url += "&%s" % ("&".join(
187188
["%s=%s" % (k, v) for k, v in kwargs.items()]))
188189

189190
try:
190-
r = requests.get(url)
191+
r = requests.get(url, headers={"PRIVATE-TOKEN": self.private_token})
191192
except:
192193
raise GitlabConnectionError(
193194
"Can't connect to GitLab server (%s)" % self._url)
@@ -223,17 +224,17 @@ def get(self, obj_class, id=None, **kwargs):
223224
url = obj_class._url % kwargs
224225
if id is not None:
225226
try:
226-
url = '%s%s/%d?private_token=%s' % \
227-
(self._url, url, id, self.private_token)
227+
url = '%s%s/%d' % \
228+
(self._url, url, id)
228229
except TypeError: # id might be a str (ProjectBranch)
229-
url = '%s%s/%s?private_token=%s' % \
230-
(self._url, url, id, self.private_token)
230+
url = '%s%s/%s' % \
231+
(self._url, url, id)
231232
else:
232-
url = '%s%s?private_token=%s' % \
233-
(self._url, url, self.private_token)
233+
url = '%s%s' % \
234+
(self._url, url)
234235

235236
try:
236-
r = requests.get(url)
237+
r = requests.get(url, headers={"PRIVATE-TOKEN": self.private_token})
237238
except:
238239
raise GitlabConnectionError(
239240
"Can't connect to GitLab server (%s)" % self._url)
@@ -249,11 +250,11 @@ def get(self, obj_class, id=None, **kwargs):
249250

250251
def delete(self, obj):
251252
url = obj._url % obj.__dict__
252-
url = '%s%s/%d?private_token=%s' % \
253-
(self._url, url, obj.id, self.private_token)
253+
url = '%s%s/%d' % \
254+
(self._url, url, obj.id)
254255

255256
try:
256-
r = requests.delete(url)
257+
r = requests.delete(url, headers={"PRIVATE-TOKEN": self.private_token})
257258
except:
258259
raise GitlabConnectionError(
259260
"Can't connect to GitLab server (%s)" % self._url)
@@ -276,15 +277,15 @@ def create(self, obj):
276277
", ".join(missing))
277278

278279
url = obj._url % obj.__dict__
279-
url = '%s%s?private_token=%s' % (self._url, url, self.private_token)
280+
url = '%s%s' % (self._url, url)
280281

281282
print url
282283
print obj.__dict__
283284

284285
try:
285286
# TODO: avoid too much work on the server side by filtering the
286287
# __dict__ keys
287-
r = requests.post(url, obj.__dict__)
288+
r = requests.post(url, obj.__dict__, headers={"PRIVATE-TOKEN": self.private_token})
288289
except:
289290
raise GitlabConnectionError(
290291
"Can't connect to GitLab server (%s)" % self._url)
@@ -298,8 +299,8 @@ def create(self, obj):
298299

299300
def update(self, obj):
300301
url = obj._url % obj.__dict__
301-
url = '%s%s/%d?private_token=%s' % \
302-
(self._url, url, obj.id, self.private_token)
302+
url = '%s%s/%d' % \
303+
(self._url, url, obj.id)
303304

304305
# build a dict of data that can really be sent to server
305306
d = {}
@@ -308,7 +309,7 @@ def update(self, obj):
308309
d[k] = str(v)
309310

310311
try:
311-
r = requests.put(url, d)
312+
r = requests.put(url, d, headers={"PRIVATE-TOKEN": self.private_token})
312313
except:
313314
raise GitlabConnectionError(
314315
"Can't connect to GitLab server (%s)" % self._url)
@@ -576,9 +577,9 @@ class Group(GitlabObject):
576577
shortPrintAttr = 'name'
577578

578579
def transfer_project(self, id):
579-
url = '/groups/%d/projects/%d?private_token=%s' % \
580-
(self.id, id, self.gitlab.private_token)
581-
r = self.gitlab.rawPost(url, None)
580+
url = '/groups/%d/projects/%d' % \
581+
(self.id, id)
582+
r = self.gitlab.rawPost(url, None, headers={"PRIVATE-TOKEN": self.gitlab.private_token})
582583
if r.status_code != 201:
583584
raise GitlabTransferProjectError()
584585

0 commit comments

Comments
 (0)