import logging
import copy
from osmclient.common import http
+from osmclient.common.exceptions import OsmHttpException
class Http(http.Http):
http_code = curl_cmd.getinfo(pycurl.HTTP_CODE)
self._logger.info("Response HTTPCODE: {}".format(http_code))
curl_cmd.close()
+ self.check_http_response(http_code, data)
# TODO 202 accepted should be returned somehow
if data.getvalue():
self._logger.verbose("Response DATA: {}".format(json.loads(data.getvalue().decode())))
http_code = curl_cmd.getinfo(pycurl.HTTP_CODE)
self._logger.info("Response HTTPCODE: {}".format(http_code))
curl_cmd.close()
+ self.check_http_response(http_code, data)
if data.getvalue():
self._logger.verbose("Response DATA: {}".format(json.loads(data.getvalue().decode())))
return http_code, data.getvalue().decode()
http_code = curl_cmd.getinfo(pycurl.HTTP_CODE)
self._logger.info("Response HTTPCODE: {}".format(http_code))
curl_cmd.close()
+ self.check_http_response(http_code, data)
if data.getvalue():
self._logger.debug("Response DATA: {}".format(json.loads(data.getvalue().decode())))
return http_code, data.getvalue().decode()
return http_code, None
+ def check_http_response(self, http_code, data):
+ if http_code >= 300:
+ resp = ""
+ if data.getvalue():
+ resp=": " + data.getvalue().decode()
+ raise OsmHttpException("Error {}{}".format(http_code, resp))