|
@@ -238,6 +238,10 @@ class labkeyURIHandler(slicer.vtkURIHandler):
|
|
|
#makes it a post
|
|
|
r.add_data(data)
|
|
|
r.add_header("Content-Type","application/json")
|
|
|
+ #add csrf
|
|
|
+ csrf=self.getCSRF()
|
|
|
+ r.add_header("X-LABKEY-CSRF",csrf)
|
|
|
+
|
|
|
base64string = base64.b64encode('%s:%s' % (self.auth_name, self.auth_pass))
|
|
|
r.add_header("Authorization", "Basic %s" % base64string)
|
|
|
print "{}: {}".format(r.get_method(),r.get_full_url())
|
|
@@ -259,6 +263,12 @@ class labkeyURIHandler(slicer.vtkURIHandler):
|
|
|
return self.opener.open(r)
|
|
|
#f contains json as a return value
|
|
|
|
|
|
+ def getCSRF(self):
|
|
|
+ url=self.GetLabkeyUrl()+'/login/whoAmI.view'
|
|
|
+ jsonData=json.load(self.get(url))
|
|
|
+ return jsonData["CSRF"]
|
|
|
+
|
|
|
+
|
|
|
def remoteDirExists(self,url):
|
|
|
status,dirs=self.listRemoteDir(url);
|
|
|
return status
|