X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fiotlab%2FOARrestapi.py;h=a4ce7a8bb5ac42cbad66d2b41bf65318f49a967b;hb=0a4f0ce95a763b227ed4b7c553804a1c072867d5;hp=515b792668d53fb00b7eec3f2b7a0d96dbedf5c3;hpb=8f8fa64f4144bfc02a925dd08e23467342528e58;p=sfa.git diff --git a/sfa/iotlab/OARrestapi.py b/sfa/iotlab/OARrestapi.py index 515b7926..a4ce7a8b 100644 --- a/sfa/iotlab/OARrestapi.py +++ b/sfa/iotlab/OARrestapi.py @@ -213,21 +213,31 @@ class OARrestapi: conn = HTTPConnection(self.oarserver['ip'], self.oarserver['port']) conn.request("GET", self.oarserver['uri'], data, headers) - resp = (conn.getresponse()).read() + resp = conn.getresponse() + body = resp.read() + except Exception as error: + logger.log_exc("GET_OAR_SRVR : Connection error: %s " + % (error)) + raise Exception ("GET_OAR_SRVR : Connection error %s " %(error)) + + finally: conn.close() - except HTTPException, error: - logger.log_exc("GET_OAR_SRVR : Problem with OAR server : %s " - % (error)) + # except HTTPException, error: + # logger.log_exc("GET_OAR_SRVR : Problem with OAR server : %s " + # % (error)) #raise ServerError("GET_OAR_SRVR : Could not reach OARserver") + if resp.status >= 400: + raise ValueError ("Response Error %s, %s" %(resp.status, + resp.reason)) try: - js_dict = json.loads(resp) + js_dict = json.loads(body) #print "\r\n \t\t\t js_dict keys" , js_dict.keys(), " \r\n", js_dict return js_dict except ValueError, error: logger.log_exc("Failed to parse Server Response: %s ERROR %s" - % (js_dict, error)) + % (body, error)) #raise ServerError("Failed to parse Server Response:" + js) @@ -260,17 +270,28 @@ class OARrestapi: conn = HTTPConnection(self.oarserver['ip'], \ self.oarserver['port']) conn.request("POST", self.oarserver['uri'], data, headers) - resp = (conn.getresponse()).read() - conn.close() + resp = conn.getresponse() + body = resp.read() + except NotConnected: logger.log_exc("POSTRequestToOARRestAPI NotConnected ERROR: \ data %s \r\n \t\n \t\t headers %s uri %s" \ %(data,headers,self.oarserver['uri'])) + except Exception as error: + logger.log_exc("POST_OAR_SERVER : Connection error: %s " + % (error)) + raise Exception ("POST_OAR_SERVER : Connection error %s " %(error)) + + finally: + conn.close() + + if resp.status >= 400: + raise ValueError ("Response Error %s, %s" %(resp.status, + resp.reason)) - #raise ServerError("POST_OAR_SRVR : error") try: - answer = json.loads(resp) + answer = json.loads(body) logger.debug("POSTRequestToOARRestAPI : answer %s" % (answer)) return answer