def setStatus(self, code, response=None): self._status = code if code == 200: return reason = None if response is not None: try: reason = response.json() except Exception: # pragma: no cover reason = response.text if callable(reason): reason = reason() if code == 400: raise BadRequestException(code, reason) elif code == 403: raise NotAuthorizedException(code, reason) elif code == 404: raise NotFoundException(code, reason) elif code == 500: # pragma: no cover raise InternalServerErrorException(code, reason) elif code == 503: # pragma: no cover raise ServiceUnavailableException(code, reason) else: # pragma: no cover raise ServiceException('Empty response')
def request(self): """ Makes a request on the service (curl by default), and returns the response if the http status code is 200, else returns an exception. """ transport = self.configuration.transport response = '' try: response = transport.get(self.url, self.configuration.proxy) except Exception as e: raise ServiceUnavailableException() status = transport.get_status() if status==200: return response elif status==400: raise BadRequestException() elif status==403: raise NotAuthorizedException() elif status==404: raise NotFoundException() elif status==500: raise InternalServerErrorException() elif status==503: raise ServiceUnavailableException() else: raise ServiceException('Empty response')