def do_GET(self): print("New GET req path:"+self.path) contentType = 'text/html' if 'Content-type' in self.headers: contentType = self.headers['Content-type'] #-- gestion des requette http classique, 'fichier' , *.html, *.css, ... if (contentType == 'text/html'): docPath = "%s%s" % (self.server.docRoot, self.path) errorPath = "%s/not-found.html" % self.server.docRoot unauthorisedPath = "%s/unauthorized.html" % self.server.docRoot doc = "" if self.path.startswith('../'): code = 404 elif docPath.endswith('/'): print("loading loadIndex()") doc = PXSPage.loadIndex() code = 200 else: code = 404 result = (code, doc, contentType) #-- gestion des requette ajax GET else: extractedpath = self.path.split('?')[0] so = self.Session() try: #-- appel au fcontion defini plus loin grace au dictionnaire 'getFunctionDict' cf EDServiceDescriptor.py #-- exemple : @service_descriptor("GET",5,"/ajax/search") #-- la requete get pour l'url '/ajax/search' applera la fonction décorée #-- le second parametre (5) donne les limitations en fonction du userpower cf EDServiceDescriptor.py et EDSessionElement.py #-- = 0 : fonction accessible en anonym #-- = 5 : user authentifier #-- > 5 : il faudra que le user soit trouvé dans la bdd avec un userpower > 5 (champs de la bdd) result = getFunctionDict[extractedpath](self,contentType,"",so) except KeyError, e: self.log_message("KeyError Error!"+str(e)) result = (404,json.dumps({ "status": "Unhandeled request!" }),contentType) except EDPermitionException, e: self.log_message("Permition Error!"+str(e.value)) result = (401,json.dumps({ "status": "e.value!" }),contentType)
contentType = self.headers['Content-type'] try: #-- appel au fcontion defini plus loin grace au dictionnaire 'postFunctionDict' cf EDServiceDescriptor.py #-- exemple : @service_descriptor("POST",5,"/ajax/search") #-- la requete post pour l'url '/ajax/search' applera la fonction décoré #-- le second parametre (5) donne les limitations en fonction du userpower cf EDServiceDescriptor.py et EDSessionElement.py #-- = 0 : fonction accessible en anonym #-- = 5 : user authentifier #-- > 5 : il faudra que le user soit trouvé dans la bdd avec un userpower > 5 (champs de la bdd) result = postFunctionDict[self.path](self,contentType,content) except KeyError, e: self.log_message(e) result = (404,json.dumps({ "status": "Unhandeled request!" }),contentType) doc = PXSPage.loadIndex() self.done(*result) @service_descriptor("POST",0,"/servicelist") def servicelist(self,CntType,Cnt): print("servicelist() called") postvars = cgi.parse_qs(Cnt, keep_blank_values=1) print("postvars:"+str(postvars)) print(" Calling methode.. exploring") url = "http://"+postvars["server"][0]+"/adxwsvc/services/CAdxWebServiceXmlCC?wsdl" try: client = Client(url) methodes = [] for sd in client.sd : for port in sd.ports: