Exemple #1
0
    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')